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

コメント

コメントする

目次