すべてを

▼開く

閉じる▲

ファイルの所有グループを変更する

○ファイル「file1」の所有グループを「project_x」に変更する

lsコマンドで「file1」の所有権を見る。所有者は「masa」所有グループは「users」。
$ ls -l
-rw-r--r--  1 masa users  256  8月 10 22:33 file1

chgrpコマンドでグループとファイル名を指定する
$ chgrp project_x file1

chgrpコマンドで変更するグループ「project_x」とファイル「file1」を指示すると、ファイルの所有グループが「project_x」に変更される。タイムスタンプは変更されない。自分の属するグループにのみ変更できる。それ以外に変更する場合は、スーパーユーザでなければならない。

コマンド実行結果、所有グループは「project_x」に変更された。
$ ls -l
-rw-r--r--  1 masa project_x  256  8月 10 22:33 file1

●存在しないグループに変更しようとした場合

存在しないグループ「project_y」を指定した場合、以下のエラーメッセージが出る。

$ chgrp project_y a.txt
chgrp: invalid group name `project_y'

●所属していないグループに変更しようとした場合

所属していないグループ「users」を指定した場合、以下のエラーメッセージが出る。

$ chgrp users a.txt
chgrp: changing group of `a.txt': 許可されていない操作です

ディレクトリの所有グループを変更する

○ディレクトリ「dir1」の所有グループを「project_x」に変更する

lsコマンドで「dir1」の所有権を見る。所有者は「masa」所有グループは「users」。
$ ls -l
drwxr-xr-x  2 masa users     4096  8月  7 01:38 dir1

chgrpコマンドでグループとディレクトリを指定する
$ chgrp project_x dir1

chgrpコマンドで変更するグループ「project_x」とディレクトリ「dir1」を指示すると、ディレクトリの所有グループが変更される。変更されるのは、ディレクトリの所有権だけで、ディレクトリの中にあるファイルは変更されない。

コマンド実行結果、ディレクトリの所有グループは「project_x」に変更された。
$ ls -lR
drwxr-xr-x  2 masa project_x     4096  8月  7 01:38 dir1
./dir1:
-rw-r--r--  1 masa users 0  8月  7 01:51 file11.txt

シンボリックリンクファイルの所有グループを変更する

○シンボリックリンクファイル「sfile1」の所有グループを「project_x」に変更する

lsコマンドで「sfile1」の所有権を見る。所有者は「masa」所有グループは「users」。
$ ls -l
lrwxrwxrwx    1 masa     users          12  5月 16 18:06 sfile1 -> ./work/file1
drwxrwxr-x    3 masa     users         4096  5月 16 18:04 work

chgrpコマンドでグループとファイル名を指定する
$ chgrp project_x sfile1

chgrpコマンドで変更するグループ「project_x」とシンボリックリンクファイル「sfile1」を指定すると、シンボリックリンクファイル「sfile1」の所有グループが「project_x」に変更される。シンボリックリンクの元ファイル「file1」の所有グループは変更されない。

コマンド実行結果、「sfile1」の所有グループは「project_x」に変更された。
$ ls -lR
lrwxrwxrwx    1 masa     project_x       12  5月 16 18:06 sfile1 -> ./work/file1
./work:
-rw-r--r--    1 masa     users         256  5月 16 18:04 file1