chgrp ファイルやディレクトリのグループを変更する
chgrp [オプション] グループ ファイル...試してみる
ls -l team/report.txt今のグループを確認します。
sudo chgrp sudo team/report.txtグループを sudo に変更します。sudo グループはこの環境に最初からあります。
ls -l team/report.txt4列目のグループが変わったことを確認します。
sudo chgrp -v root team/report.txt-v を付けると、変更した内容が表示されます。
sudo chgrp -R sudo team-R で、ディレクトリの中身にもまとめて適用します。
ls -lR team中のファイルまで変わったことを確認します。
主なオプション
-R | ディレクトリの中身にもまとめて適用する |
|---|---|
-v | 処理したファイルごとに結果を表示する |
-c | 変更があったファイルだけ結果を表示する |
--reference=ファイル | 指定したファイルと同じグループにする |
-h | シンボリックリンクをたどらず、リンク自体のグループを変える |
解説
グループだけを変える
chgrp は、ファイルのグループ(所有グループ)だけを変更します。所有者も変えたいときは chown 所有者:グループ を使います。chown :グループ ファイル は chgrp グループ ファイル と同じ働きです。
誰が変更できるか
root は、どのグループにも変更できます。一般ユーザーは、自分がその所有者であるファイルに限り、自分が所属しているグループへ変更できます。所属していないグループへは変更できません。自分の所属グループは id や groups で確認できます。
グループの意味
グループに設定した権限(ls -l の権限の中ほどの3文字)は、そのグループに所属するユーザーに適用されます。チームで共有するディレクトリは、グループにチーム用のグループを設定し、グループに書き込み権限を与えるのが典型的な使い方です。
数値での指定
グループ名の代わりに、GID の数字でも指定できます。chgrp 1000 file のようにします。