Linuxコマンド chgrp(ファイル・ディレクトリの所有グループを変更)
指定したファイル・ディレクトリのグループの所有者を変更するコマンドについて解説。
RHEL Fedora CentOS Vine Deblan Ubuntu Plamo
参考サイト:Man page of INSTALL
使用方法
chgrpコマンドを使用して、ファイルやディレクトリのグループ所有者を指定したグループ名、もしくはグループIDに変更できる。
書式
$ chgrp [オプション] ファイル名
-c, –changes | 変更が行われた場合は、指定したファイルの詳細情報を表示する |
-R, –recursive | 指定したディレクトリ以下を再帰的にグループ所有権を変更する |
–reference=ファイル名 | 指定したファイルと同じグループを設定する |
–dereference | 指定したファイルがシンボリックリンクである場合は、 リンク先ファイルの所有権を変更する |
-h, –no-dereference | シンボリックリンクが対象の場合、リンク先ファイルではなく シンボリックリンクファイルにのみグループ所有権の変更を実施する |
-f, –silent, –quiet | 所有権変更ができない場合でもエラーメッセージを表示しない |
かつて、ディレクトリ及びファイルの所有者であれば一般ユーザでもコマンドを実行することができましたが、現在は管理者のみが実行できるようになっている
グループ一覧
システムに登録されているグループは、/etc/groupファイルに記述されている。
サンプル
$ chown centos sample.txt
実行結果
[root@xxx work]$ ls -l
total 4
lrwxrwxrwx 1 root root 18 Apr 21 21:57 link_sample -> sample/sample2.txt
drwxr-xr-x 3 root root 43 Apr 21 21:33 sample
-rw-r--r-- 1 root root 3 Apr 22 20:54 sample.txt
[root@xxx work]$ chgrp centos sample.txt #所有グループをroot→centosへ変更
[root@xxx work]$ ls -l
total 4
lrwxrwxrwx 1 root root 18 Apr 21 21:57 link_sample -> sample/sample2.txt
drwxr-xr-x 3 root root 43 Apr 21 21:33 sample
-rw-r--r-- 1 root centos 3 Apr 22 20:54 sample.txt #グループがcentosに変更された。
[root@xxx work]$
ディレクトリのグループを変更する
chgrp コマンドにより、ディレクトリのグループを変更することができる。
サンプル
$ chgrp centos sample
実行結果
[root@xxx work]$ chgrp -R root sample
[root@xxx work]$ ls -l
total 2
drwxr-xr-x 3 root root 43 Apr 21 21:33 sample
[root@xxx work]$ chgrp centos sample #ディレクトリの所有グループを変更
[root@xxx work]$ ls -l
total 2
drwxr-xr-x 3 root centos 43 Apr 21 21:33 sample
ディレクトリ配下のグループをすべて変更する
chgrp コマンドにオプション-Rを指定することにより、ディレクトリ配下すべてのサブディレクトリとファイルのグループを変更することができる。
サンプル
sampleディレクトリを含めて、配下のサブディレクトリ及びファイルをの所有グループを一括で変更。
$ chgrp -R centos sample
実行結果
[root@xxx work]$ tree #ディレクトリ構造
.
├── link_sample -> sample/sample2.txt
├── sample
│ ├── sample2.txt
│ └── sub_sample
└── sample.txt
2 directories, 3 files
[root@xxx work]$ ls -l #所有グループの確認
total 4
lrwxrwxrwx 1 root root 18 Apr 21 21:57 link_sample -> sample/sample2.txt
drwxr-xr-x 3 root root 43 Apr 21 21:33 sample
-rw-r--r-- 1 root centos 3 Apr 22 20:54 sample.txt
[root@xxx work]$ ls -l sample/ #sampleディレクトリ内の所有グループの確認
total 4
-rw-r--r-- 1 root root 3 Apr 21 21:33 sample2.txt
drwxr-xr-x 2 root root 6 Apr 21 21:33 sub_sample
[root@xxx work]$ chgrp -R centos sample #ディレクトリ以下の所有グループをcentosに変更
[root@xxx work]$ ls -l #変更確認
total 4
lrwxrwxrwx 1 root root 18 Apr 21 21:57 link_sample -> sample/sample2.txt
drwxr-xr-x 3 root centos 43 Apr 21 21:33 sample
-rw-r--r-- 1 root centos 3 Apr 22 20:54 sample.txt
[root@xxx work]$ ls -l sample/ #変更確認
total 4
-rw-r--r-- 1 root centos 3 Apr 21 21:33 sample2.txt
drwxr-xr-x 2 root centos 6 Apr 21 21:33 sub_sample
[root@xxx work]$