概要
所有グループを変更します。共有ディレクトリの整理、共同編集領域の整備、復旧後の権限調整でよく使われます。
基本構文
chgrp [オプション]... グループ ファイル...
chgrp [オプション]... --reference=参照ファイル 対象ファイル...詳細解説
chgrpは、ファイルやディレクトリの所有グループを変更するコマンドです。所有者を変えずに、どのグループが対象へ権限を持つかを調整できます。
共有ディレクトリ運用では、個別ユーザーごとに権限をばらまかず、グループ単位でアクセス権を整理するのが基本です。chgrpはその土台となります。
ただし、変更対象の所有者やディレクトリ側の継承設計まで見ないと期待どおりに運用できません。
このコマンドを使う場面
共有ディレクトリの整備、サービス実行グループへの引き渡し、共同編集領域の権限制御、復旧後の権限調整に使います。
まず安全に試す方法
1. touch shared.txt
2. ls -l shared.txt
3. chgrp adm shared.txt
4. ls -l shared.txt
3分ミッション
少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。
-
ls -lの前後差分から、所有者を変えずグループだけ変わることを確認します。
-
小さなディレクトリへchgrp -Rを適用し、どこまで影響するかを観察します。
資格試験との関連
-
LinuC レベル1
範囲: 1.02.1 ファイルの所有者とパーミッション根拠: officialLinuCレベル1では、所有者、グループ、パーミッション、生成時マスクの理解が重要です。
-
LPIC-1
範囲: 104.5 Manage file permissions and ownership根拠: officialLPIC-1では、所有者、グループ、モード、生成時マスクの理解が重要です。
-
共通基礎
範囲: Linuxコマンド基礎根拠: editorial試験横断で、chgrpはLinux運用の基礎体力を支える重要なコマンドです。
実行結果サンプル
-
ls -l shared.txt chgrp adm shared.txt ls -l shared.txt-rw-r--r-- 1 user user... -rw-r--r-- 1 user adm... -
mkdir shared && touch shared/a shared/b chgrp -R adm shared ls -ld shared shared/a shared/b... adm...
戻り値コード
- 0 正常終了。グループ変更に成功しました。
- >0 権限不足、存在しないグループ、対象不存在などで変更できませんでした。
使用例
chgrp project report.txtchgrp -R www-data /srv/www/sitechgrp --reference=base.txt target.txt
よくあるエラー
-
Operation not permittedになる 原因: 対象ファイルの所有者条件やグループ所属条件を満たしていません。対処: 自分がそのグループに所属しているか、管理者権限が必要かを確認します。
-
新規ファイルのグループがそろわない 原因: 既存ファイルだけ直しても、ディレクトリ側のsetgidやumask設計が不足しています。対処: ディレクトリ権限設計も見直します。
導入・互換性情報
POSIXで基本動作は標準化されています。GNU実装では--referenceなどの拡張があります。
注意点 / セキュリティリスク
危険度は中程度です。誤ったグループへ変更すると、共有すべきでない情報が読めたり、必要な人がアクセスできなくなったりします。
FAQ
-
Q. chown :groupと同じですか。 A. 結果は近いですが、グループ変更だけなら意図が明確な分、chgrpのほうが読みやすいことがあります。
-
Q. 共有ディレクトリ運用で重要ですか。 A. はい。どのグループへ権限を渡すかを整理する基礎です。
関連用語
参照リンク
- カテゴリー: Permissions And Ownership
- レベル: Basic
- 対応試験: LinuC, LinuC レベル1, LPIC, LPIC-1, 共通基礎