概要
指定したユーザー、または現在のユーザーが所属しているすべてのグループ名を表示するためのコマンドです。 ファイルサーバーのアクセス権限トラブルや、docker や sudo などの特定の権限が必要な操作ができない場合に、ユーザーが正しくグループに追加されているかを確認するために使用されます。
仕様(引数・オプション)
構文
groups [ユーザー名]
※オプションはバージョン情報の表示などを除き、実質的に存在しません。
基本の使い方
自分の所属グループを表示する
引数を指定せずに実行すると、現在ログインしているユーザー(mori)が所属しているグループをすべて表示します。先頭に表示されるのがプライマリグループです。
BASH
# 現在のユーザー(mori)のグループを表示
groups
実行結果例
mori wheel docker
特定のユーザーの所属グループを表示する
引数にユーザー名を指定することで、他人の所属グループを確認できます。
BASH
# ユーザー mori の所属グループを確認
groups mori
実行結果例
mori : mori wheel docker
実践コマンド
idコマンドで代用・スクリプト利用する
groups コマンドは人間が見やすい形式で出力しますが、スクリプト処理などでグループ名だけを取得したい場合は id -Gn が適しています。
BASH
# idコマンドでグループ名のみを表示(-n)、全グループを表示(-G)
id -Gn mori
実行結果例
mori wheel docker
sudo利用時の挙動を確認する
sudo を付けて引数なしで groups を実行すると、sudo によって切り替わった実行ユーザー(デフォルトでは root)の所属グループが表示されます。一般ユーザー mori のグループを確認したい場合は、sudo を付けずに実行するか、引数でユーザー名を指定する必要があります。
BASH
# sudo経由で実行(rootのグループが表示される)
sudo groups
実行結果例
root
まとめ
groupsコマンドは、ユーザー権限の現状確認における最も基本的なツールです。 「グループに追加したはずなのに書き込めない」といったトラブルの際は、まずこのコマンドを実行してください。なお、グループへの追加設定(gpasswd -a 等)を行った直後でも、このコマンドの結果が変わらない場合は、一度ログアウトして再ログインすることで情報が更新されます。
