概要
システム上のグループ情報が格納されている /etc/group および /etc/gshadow ファイルの整合性を検証するための管理コマンドです。
ファイル内の構文エラー、重複したグループ名、存在しないメンバー(ユーザー)の登録などをスキャンします。不整合が見つかった場合、対話形式で不要なエントリを削除したり修正したりすることができます。pwck コマンドのグループ版と言えます。
仕様(引数・オプション)
構文
grpck [オプション] [グループファイル名] [シャドウファイル名]
※ファイル名を省略した場合、デフォルトで /etc/group と /etc/gshadow がチェック対象になります。
主なオプション
| オプション | 説明 |
| -r | 読み取り専用モードで実行します。ファイルへの変更は行わず、チェック結果の表示と、検出されたエラーに対する修正案の提示のみを行います。 |
| -s | GID順(グループID順)にエントリをソートして保存します(今回は詳細割愛)。 |
基本の使い方
グループファイルの整合性を照合する(読み取り専用)
システムに変更を加えず、現状のグループ設定に問題がないかを確認します。エラーが表示されなければ、ファイルは正常です。
BASH
# 読み取り専用モードでチェックを実行
sudo grpck -r
実行結果例
'mori_team' is a member of the 'mori_project' group in /etc/gshadow but not in /etc/group
no changes
※上記は /etc/gshadow には登録があるが、/etc/group には存在しないメンバーがいる場合の警告例です。-r を指定しているため「no changes(変更なし)」となります。
実践コマンド
不整合を検出し、対話的に修正する
-r オプションを外して実行すると、エラーが見つかった場合に修正するかどうかを問われます。ここで yes を選択すると、不整合な行が削除されたり、修正されたりします。
BASH
# 修正モードで実行(バックアップ推奨)
sudo grpck
実行結果例
group 'deleted_user': no user 'deleted_user'
delete member 'deleted_user'? y
grpck: the files have been updated
まとめ
grpckコマンドは、手動での設定変更やシステム障害によって発生したグループ情報の矛盾を解消するためのツールです。
特に多数のユーザーやグループを管理している環境では、削除されたユーザーがグループ定義に残り続ける「ゴミ設定」が発生しがちです。定期的にこのコマンドを -r オプション付きで実行し、システムの状態を健全に保つ運用が推奨されます。修正を行う際は、必ず事前に /etc/group 等のバックアップを取得してから実行するようにしてください。
