Categories: linux

Linuxで自分の所属グループを確認するには?groupsコマンドの使い方をわかりやすく解説!

Linuxシステムでは、ユーザーのアクセス権限を制御するために「ユーザー」と「グループ」の概念が欠かせません。特に複数のユーザーが共用で使う環境では、どのグループに所属しているかを把握しておくことはとても重要です。
そんなときに活躍するのが「groups」コマンドです。この記事では、groupsコマンドの基本的な使い方から、実務で役立つ応用例までをわかりやすく解説していきます。初心者の方にも理解しやすいよう、丁寧に説明していきますので、ぜひ参考にしてください。


groupsコマンドとは?

groupsは、Linuxにおいて「ユーザーが所属しているグループ」を表示するためのコマンドです。グループはファイルやディレクトリへのアクセス制御に使われており、自分のアクセス権限を確認する際にとても役立ちます。

Linuxのユーザーは、1つの「プライマリグループ」と複数の「セカンダリグループ(補助グループ)」に所属することができます。groupsコマンドを使うと、それらすべてのグループを確認できます。


groupsコマンドの基本的な使い方

最も基本的な使い方は、何もオプションを付けずに groups と入力するだけです。これで、現在ログインしているユーザーのグループ一覧を確認できます。

$ groups

例:

$ groups
user1 wheel docker developers

この出力結果は、ユーザーuser1が「wheel」「docker」「developers」という3つのグループに所属していることを示しています。


特定のユーザーのグループを調べる

自分以外のユーザーのグループを調べたいときは、コマンドの後にユーザー名を指定します。

$ groups ユーザー名

たとえば:

$ groups alice
alice : alice sudo developers

このように、groupsコマンドでは他のユーザーについても確認できるため、管理者や運用者にとって便利な機能です。


groupsコマンドとidコマンドの違い

似たようなコマンドに「id」があります。これもユーザー情報を表示するコマンドですが、少し出力内容が異なります。

$ id
uid=1000(user1) gid=1000(user1) groups=1000(user1),10(wheel),991(docker),1001(developers)

このように、idコマンドはUIDやGID(数値で表されるID)も一緒に表示します。数値IDまで必要な場合はid、グループ名の確認だけで良ければgroupsと使い分けるとよいでしょう。


実務での活用例:アクセス権確認や設定時に便利

Linuxでは、ファイルやディレクトリに対して「所有者」「グループ」「その他」の3区分でアクセス権が設定されています。

たとえば、あるファイルが以下のようなパーミッションを持っているとします:

-rw-rw---- 1 user1 developers 2048 Apr 1 13:00 report.txt

この場合、developersグループに属しているユーザーだけが読み書き可能です。自分がそのグループに入っているかどうかを確認するのに、groupsコマンドが役立ちます。

$ groups
user1 wheel docker developers

このように確認できれば、「自分もそのファイルを編集できる」と判断できます。


sudo権限を持っているかの確認にも使える

多くのLinuxディストリビューションでは、sudoグループに属しているユーザーは、管理者権限(root権限)を一時的に使えるよう設定されています。

たとえば以下のような出力がある場合:

$ groups
user1 sudo wheel

このユーザーは「sudo」グループに属しているため、sudoコマンドを使って管理者作業を行うことができます。

逆にsudoが表示されていない場合は、管理者に追加してもらう必要があります。


グループを追加・削除するには?

groupsコマンドはあくまで「確認用」です。グループの追加や削除は、別のコマンドを使います。

  • グループにユーザーを追加する:
$ sudo usermod -aG グループ名 ユーザー名

例:developersグループにbobを追加する場合

$ sudo usermod -aG developers bob
  • ユーザーの補助グループ一覧を更新(上書き)する:
$ sudo usermod -G グループ名1,グループ名2 ユーザー名

※この方法は既存の補助グループをすべて上書きするため注意が必要です。


スクリプトや管理ツールでの活用

シェルスクリプトや自動化ツールでも、ユーザーのグループ確認をしたい場合があります。その際も、groupsは便利です。たとえば、グループに属しているかどうかを条件として分岐処理を行うこともできます。

例:スクリプト内で「docker」グループに属しているか確認する

if groups $USER | grep -qw docker; then
echo "Docker操作が可能です"
else
echo "Dockerグループに追加してください"
fi

このように、ユーザー管理や環境チェックにおいて、groupsは柔軟に活用できます。


注意点とまとめ

  • groupsコマンドは「現在のセッション」では反映されないことがあります。ユーザーが新しくグループに追加された場合、一度ログアウト・ログインし直すか、再起動が必要です。
  • グループの概念はセキュリティにも関わるため、不要なグループへの追加は慎重に行いましょう。

まとめ

groupsコマンドは、Linuxにおけるユーザーのグループ確認を手軽に行える非常に便利なコマンドです。
ファイルのアクセス権確認、管理者権限の確認、システム運用時の調査など、あらゆる場面で活用できます。

基本の使い方から実務的な応用例までをマスターしておけば、トラブル時にも冷静に対応できます。Linuxを扱う方であれば、ぜひ覚えておきたいコマンドの一つです。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。