Linux – グループの管理について

目次

概要

UNIX や Linux システムでは、ユーザーとグループはシステム上でのアクセス制御と権限管理の基本的な要素です。本記事では、グループを管理するコマンドについて解説します。

グループ

グループはユーザーをまとめて管理するための単位です。各グループには一意のグループ ID (GID) が割り当てられます。ユーザーは複数のグループに所属することができます。

グループの管理

以下の表に、各コマンドの概要を整理しました。

コマンド 概要
groupadd グループをシステムに追加するためのコマンド。
groupdel システムからグループを削除するためのコマンド。
addgroup 対話式でグループをシステムに追加するためのコマンド。
delgroup 対話式でシステムからグループを削除するためのコマンド。
groupmod 既存のグループアカウントを変更するためのコマンド。
groups グループの情報を表示するコマンド。
gpasswd グループのパスワードを設定するコマンド。

グループの追加 (groupadd)

グループの追加は groupadd コマンドで行います。

オプション 説明
-f 既に存在する場合、エラーを無視して終了します。
-g グループ ID (GID) を指定します。
-K 設定ファイルを指定します。
-o 他のグループと重複する GID を許可します。
-p グループのパスワードを指定します。
-r システムグループを作成します。

以下は、groupadd コマンド使用例です:

sudo groupadd -g 1001 newgroup

グループの削除 (groupdel)

グループの削除は groupdel コマンドで行います。

オプション 説明
-f 強制的にグループを削除します。このオプションは、グループが依存関係にある場合でも削除します。

groupdel コマンドを使用すると、指定したグループを削除することができます。基本的な構文は次のとおりです。

sudo groupdel <groupname>

グループに依存しているユーザーやプロセスが存在する場合、groupdel コマンドはエラーを返すことがあります。 この場合、グループに所属しているユーザーを削除して、先に依存関係を解消する必要があります。

または、-f オプションで強制的に削除することもできます。

sudo groupdel -f <groupname>

グループ情報の変更 (groupmod)

グループ情報の変更は groupmod コマンドで行います。

オプション 説明
-g グループ ID (GID) を変更します。
-n グループ名を変更します。
-o 他のグループと重複する GID を許可します。
  • グループ ID を変更する

    sudo groupmod -g 1001 groupname
  • グループ名を変更する

    sudo groupmod -n newgroupname oldgroupname
  • 他のグループと同じ GID を許可する

    sudo groupmod -o -g 1001 groupname

gpasswd: グループのパスワードを設定する

gpasswd コマンドを使用してグループのパスワードを設定または変更できます。

オプション 説明
-a 指定したユーザーをグループに追加します。
-d 指定したユーザーをグループから削除します。
-A グループの管理者リストを設定します。
-M グループのメンバーリストを設定します。
-r グループのパスワードを削除します。
-R グループへのアクセスをメンバーのみに制限します。

グループのパスワード

グループのパスワードを設定すると、そのパスワードを知っているユーザーのみがグループに加入できるようになります。 これは、特定のリソースへのアクセスを制限するため際に利用されます。 通常、グループのパスワードは設定することが少なく、設定する場合は gpasswd コマンドを使って設定されます。

グループのメンバー

グループのメンバーは、特定のグループに属しているユーザーのことを指します。グループに属することで、ユーザーはそのグループに関連するファイルやリソースへのアクセス権を共有することができます。グループのメンバーに対しては、以下のような操作が可能です。

  • ファイルやディレクトリに対するグループのアクセス権を設定
  • グループのパーミッションを利用してアクセス制御を行う

グループの管理者

グループの管理者は、特定のグループを管理する権限を持つユーザーのことを指します。管理者はそのグループに関連する以下のような操作を行うことができます。

  • グループにユーザーを追加または削除する
  • グループのパスワードや設定を変更する
  • グループのメンバーリストを設定する

グループのパスワードを設定する

グループのパスワードを設定するには、以下のコマンドを使用します:

sudo gpasswd <groupname>

グループのパスワードを削除する

グループのパスワードを削除するには、-r オプションを使用します:

sudo gpasswd -r <groupname>

ユーザーをグループに追加する

ユーザーをグループに追加するには、-a オプションを使用します:

sudo gpasswd -a <username> <groupname>

ユーザーをグループから削除する

ユーザーをグループから削除するには、-d オプションを使用します:

sudo gpasswd -d <username> <groupname>

グループに対してパスワードによるアクセスを無効にする

グループに対してパスワードによるアクセスを無効にするには、-R オプションを使用します:

sudo gpasswd -R <groupname>

これにより、グループへのアクセスをすでに所属しているメンバーのみに制限します。

自身が所属しているグループを確認する

自身が所属しているグループを確認するには groups コマンドを使用します。

$ groups
ubuntu adm cdrom sudo dip plugdev lpadmin lxd sambashare docker

コマンドまとめ

ユーザーアカウント作成時にグループに追加する

項目 コマンド
プライマリグループ useradd -g <group> <username> useradd -g users username
セカンダリグループ useradd -G <group1>,<group2> <username> useradd -G wheel,dialout username

グループを変更する

項目 コマンド
プライマリグループ usermod -g <group> <username> usermod -g users username
セカンダリグループ (上書き) usermod -G <group1>,<group2> <username> usermod -G wheel,dialout username
セカンダリグループ (追加) usermod -aG <group1>,<group2> <username> usermod -aG wheel,dialout username
ユーザーをグループに追加 gpasswd -a <username> <group> gpasswd -a username group
ユーザーをグループから削除 gpasswd -d <username> <group> gpasswd -d username group
グループの管理者リストを設定 gpasswd -A <admin1>,<admin2> <group> gpasswd -A admin1,admin2 group
グループのメンバーリストを設定 gpasswd -M <member1>,<member2> <group> gpasswd -M member1,member2 group
グループにパスワードを設定 gpasswd <group> gpasswd group
グループのパスワードを削除 gpasswd -r <group> gpasswd -r group
グループへのアクセスを制限 gpasswd -R <group> gpasswd -R group

グループを確認する

項目 コマンド
プライマリグループ id -gn <username>
セカンダリグループ id -Gn <username>
自身が所属しているグループ groups

コメント

コメントする

目次