groups コマンド
ユーザーが所属するグループを表示します。
概要
groups
コマンドは、指定されたユーザーが所属するすべてのグループを表示します。ユーザーが指定されていない場合は、現在のユーザーのグループを表示します。このコマンドは、権限関連の問題に対するグループメンバーシップを確認するのに役立ちます。
オプション
groups
コマンドは、シンプルな目的のために設計されているため、オプションは最小限です。
オプションなし(デフォルトの使用法)
現在のユーザーのグループを表示します。
$ groups
staff wheel admin
ユーザー名の指定
指定されたユーザーのグループを表示します。
$ groups username
username : staff wheel admin
使用例
自分自身のグループメンバーシップの確認
$ groups
user wheel admin staff
他のユーザーのグループメンバーシップの確認
$ groups root
root : wheel admin system
複数のユーザーのグループメンバーシップの確認
$ groups user1 user2
user1 : staff wheel
user2 : staff admin
ヒント:
グループメンバーシップの重要性を理解する
グループメンバーシップは、ユーザーがアクセスできるファイルやリソースを決定します。例えば、「wheel」グループのユーザーはsudo権限を持つことが多く、「admin」グループのユーザーは管理タスクを実行できます。
他のコマンドと組み合わせる
より包括的なユーザー情報を得るために、groups
をid
と一緒に使用します:
$ id
uid=501(user) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts)
プライマリグループの確認
リストされた最初のグループは通常、ユーザーのプライマリグループであり、新しいファイルを作成する際にデフォルトで使用されます。
よくある質問
Q1. プライマリグループとセカンダリグループの違いは何ですか?
A. プライマリグループ(ログイングループとも呼ばれる)は、ユーザーが作成したファイルにデフォルトで割り当てられるグループです。セカンダリグループは追加の権限を提供します。
Q2. ユーザーをグループに追加するにはどうすればよいですか?
A. Linuxではsudo usermod -aG グループ名 ユーザー名
を、macOSではsudo dseditgroup -o edit -a ユーザー名 -t user グループ名
を使用します。
Q3. なぜグループメンバーシップを知る必要があるのですか?
A. グループメンバーシップは、アクセスできるファイルやリソースを決定します。権限の問題のトラブルシューティングでは、グループメンバーシップの確認が必要になることがよくあります。
Q4. システム上のすべてのグループを見ることはできますか?
A. はい、Linuxではgetent group
コマンドを、macOSではdscl . list /Groups
を使用してすべてのグループを確認できます。
参考文献
https://www.gnu.org/software/coreutils/manual/html_node/groups-invocation.html
改訂履歴
- 2025/05/05 初版