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」グループのユーザーは管理タスクを実行できます。

他のコマンドと組み合わせる

より包括的なユーザー情報を得るために、groupsidと一緒に使用します:

$ 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

改訂履歴