Linuxを使っていると、「自分がどのグループに所属しているのか」を確認したい場面があります。たとえば、ファイルやディレクトリへのアクセス権を調べたいときや、ユーザー権限の管理が必要なときです。そんなときに役立つのがgroups
コマンドです。このコマンドを使うと、簡単に自分や他のユーザーが所属するグループを一覧で確認できます。この記事では、groups
コマンドの基本的な使い方から、実務で役立つ応用的な使用例まで、わかりやすく解説します。Linux初心者の方にも理解しやすい内容にしていますので、ぜひ最後までご覧ください。
groups
は、Linuxのユーザーがどのグループに属しているかを表示するためのシンプルなコマンドです。Linuxでは、ユーザーは1つの「プライマリグループ」と複数の「セカンダリグループ」に所属することができます。ファイルやディレクトリのアクセス権限を制御する際に、これらのグループ情報が非常に重要になります。
このコマンドを使えば、自分自身のグループや、他のユーザーが属するグループまで確認できます。
最も基本的な使い方は、ターミナルにgroups
と入力するだけです。
$ groups
このコマンドを実行すると、現在ログインしているユーザーが属しているすべてのグループが表示されます。
$ groups
username wheel audio video
この結果では、username
というユーザーが、wheel
、audio
、video
といったグループに属していることがわかります。
自分以外のユーザーが所属しているグループを調べたい場合は、コマンドにユーザー名を指定します。
$ groups [ユーザー名]
$ groups alice
alice : alice developers testers
このように、指定したユーザーが属しているすべてのグループが表示されます。
※ユーザー名の後に「:」が表示されるかどうかは、ディストリビューションやバージョンによって異なります。
似たようなコマンドとしてid
があります。id
は、ユーザーID(UID)やグループID(GID)も含めて詳細な情報を表示してくれます。
$ id
uid=1000(username) gid=1000(username) groups=1000(username),10(wheel),29(audio)
groups
コマンドがグループ名だけを一覧表示するのに対して、id
コマンドは数値IDとグループ名の両方を表示します。
そのため、グループ名だけをサッと確認したいときはgroups
、IDも含めた詳細情報を確認したいときはid
を使うとよいでしょう。
ファイルにアクセスできない場合、「所属グループがファイルのグループと一致していない」という原因が多くあります。そのときにgroups
で自分が属するグループを確認すれば、問題解決の糸口になります。
ユーザーを新たなグループに追加したあと、本当に反映されているかを確認するのにも使えます。ただし、ログインし直さないと反映されないこともあるため注意が必要です。
管理者としてスクリプトを組む際、特定のグループに属しているかどうかで条件分岐させる場面でも、groups
の出力結果が活用されます。
ここでは簡単に、グループを変更・追加する方法を紹介します。実際に確認するときはgroups
で結果を見るのが便利です。
$ sudo usermod -aG [グループ名] [ユーザー名]
例:
bashコピーする編集する$ sudo usermod -aG docker bob
このコマンドで、bob
ユーザーをdocker
グループに追加します。追加後にgroups bob
で確認すると、正しく追加されていることがわかります。
$ sudo gpasswd -d [ユーザー名] [グループ名]
例:
$ sudo gpasswd -d bob docker
ユーザーを新たなグループに追加したあと、groups
で確認しても反映されていないことがあります。これは、ログインセッション中にグループ情報が反映されないためです。
以下の対処方法を試してください:
su - [ユーザー名]
で再ログインするnewgrp [グループ名]
で一時的にグループを切り替えるgroups
コマンドは、自分や他のユーザーが属するグループを簡単に確認できる便利なコマンドです。
ファイルのアクセス権のトラブルシューティングや、ユーザー管理の確認など、さまざまな場面で役立ちます。
基本的な使い方はとてもシンプルで、初心者でもすぐに活用できるのが魅力です。
日常的なLinux操作において、「自分がどのグループに属しているか」を意識するだけで、より安全かつ効率的に作業できるようになります。