Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

chgrp

ファイルのグループを変更する
2015/05/20 08:00

対応OS: linux , freebsd, solaris
chgrp [-f] [-R] GROUP FILE...

 ファイルやディレクトリは、それを作成したユーザが所属するグループの情報を持ちます。この時、このファイルやディレクトリは、そのグループに所属しているといいます。ユーザが複数のグループに所属している場合には、そのユーザが作成したファイルあるいはディレクトリは、そのユーザの主グループに所属します。

 chgrpコマンドは、FILE...に指定したファイルやディレクトリの所属するグループを、GROUPで指定したグループに変更します。

 一般ユーザは、所有するファイルやディレクトリの所属グループを変更できますが、変更後のグループは、そのユーザが所属しているグループでなければなりません。スーパーユーザには、このような制限はありません。

グループ

 UNIXでは、利用者をユーザとグループで管理します。ユーザはひとつ以上のグループに属し、同一グループのユーザ間でのみファイルを参照するというようなことが可能です

HINT!

 複数のグループに所属するユーザが、作成したファイルやディレクトリが所属するグループを、補助グループに変更したい場合などに、chgrpコマンドを使用します。

 主グループと補助グループ

オプション
① -f
FILE...に、所属するグループを変更できないファイルを指定した場合でも、エラーが発生しないようにします(変更は行われない)。
② -R
FILE...にディレクトリを指定した場合に、その中に含まれるファイルやディレクトリの所属するグループも変更します。
引数
① GROUP
FILE...に指定したファイルやディレクトリの変更後の所属グループを、グループ名またはグループIDで指定します。グループIDは、それぞれのグループを示す一意の値です。
② FILE...
所属するグループを変更するファイルやディレクトリのパスをスペースで区切って指定します。ワイルドカードによる指定も可能です。
ファイルが所属するグループを変更する
#
# ls -l
合計4
-rwxrwxrwx 1 cmd cmd 7 5月2 09:05 file01
# chgrp takeda file01
ファイル「file01」が所属するグループを「takeda」に変更
# ls -l
合計4
-rwxrwxrwx 1 cmd takeda 7 5月2 09:05 file01
#
変更できない場合にエラーを発生させない
[takeda]$ ls -l 
合計4
-rwxrwxrwx 1 cmd cmd 7 5月2 09:05 file01
[takeda]$ chgrp takeda file01
chgrp: changing group of 'file01': 許可されていない操作です
一般ユーザは所有していないファイルの所属するグループは変更できずエラーが発生
[takeda]$ chgrp -f takeda file01
オプション「-f」を指定するとエラーが発生しない
ただし、変更はできない
[takeda]$ ls -l
合計4
-rwxrwxrwx 1 cmd cmd 7 5月2 09:05 file01
[takeda]$
HINT!

 lsコマンド

UNIXコマンド辞典トップページに戻る

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5