ファイル所有者の変更~chownコマンド・chgrpコマンド~
本記事の対象者
LPIC level1習得を目指す初学者の方
コマンドの基本的な用途について、要点を絞って解説します。
今回の内容
今回は、chownコマンドとchgrpコマンドについて解説します。
ファイルやディレクトリの所有者・所有グループの変更をするコマンドです。
chownコマンド
chownコマンドは、ファイルやディレクトリの所有者を変更できます。
なお、使用できるのはrootユーザのみです。
chown | |
---|---|
意味 | ファイルやディレクトリの所有者を変更する。 |
書式 | chown [オプション] ユーザ[:グループ] ファイル名 or ディレクトリ名 |
「:」区切りで指定することで、所有者と合わせて所有グループを変更することも可能です。
主なオプションは以下です。
オプション | 説明 |
---|---|
-R | 指定したディレクトリとその中にあるファイルすべての所有者を変更する。 |
[root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 root root 6 8月 25 14:18 chownsample [root@localhost chsample]# chown sie chownsample/ [root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 sie root 6 8月 25 14:18 chownsample
[root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 root root 6 8月 25 14:18 chownsample [root@localhost chsample]# chown sie:sak chownsample/ [root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 sie sak 6 8月 25 14:18 chownsample
「:」区切りで「所有者:所有グループ」と指定することで、所有者と所有グループを合わせて変更できます。
[root@localhost ~]# ll | grep chsample drwxr-xr-x. 3 root root 48 8月 25 14:26 chsample [root@localhost ~]# ll chsample/ 合計 0 drwxr-xr-x. 2 root root 6 8月 25 14:18 chownsample -rw-r--r--. 1 root root 0 8月 25 14:26 chownsamplefile [root@localhost ~]# chown -R sie:sak chsample/ [root@localhost ~]# ll | grep chsample drwxr-xr-x. 3 sie sak 48 8月 25 14:26 chsample [root@localhost ~]# ll chsample/ 合計 0 drwxr-xr-x. 2 sie sak 6 8月 25 14:18 chownsample -rw-r--r--. 1 sie sak 0 8月 25 14:26 chownsamplefile
「-R」オプションを使用すると、そのディレクトリ配下のすべてのディレクトリとファイルも含めて所有者と所有グループを変更できます。
chgrpコマンド
chgrpコマンドは、ファイルやディレクトリの所有グループを変更できます。
一般ユーザでも使用することができます。ただし、対象ファイルやディレクトリの所有者が自身でありかつ自身の所属グループへの変更に限ります。
rootユーザは制限なく変更することができます。
chgrp | |
---|---|
意味 | ファイルやディレクトリの所有グループを変更する。 |
書式 | chgrp [オプション] グループ ファイル名 or ディレクトリ名 |
主なオプションは以下です。
オプション | 説明 |
---|---|
-R | 指定したディレクトリとその中にあるファイルすべての所有グループを変更する。 |
[root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 root root 6 8月 25 15:12 chgrpsample [root@localhost chsample]# chgrp sak chgrpsample/ [root@localhost chsample]# ll 合計 0 drwxr-xr-x. 2 root sak 6 8月 25 15:12 chgrpsample
[sak@localhost ~]$ who am i sak pts/1 2022-08-29 17:37 (192.168.56.1) [sak@localhost ~]$ groups sak sak : sak sie [sak@localhost ~]$ ll 合計 0 drwxr-xr-x. 2 root sak 6 8月 25 15:18 chgrpsample #所有者がroot [sak@localhost ~]$ chgrp sie chgrpsample/ chgrp: `chgrpsample/' のグループを変更中: 許可されていない操作です
一般ユーザの場合、自身が所有者でないファイルやディレクトリに対しては実行できません。
[sak@localhost ~]$ ll 合計 0 drwxr-xr-x. 2 sak root 6 8月 25 15:18 chgrpsample #所有者がsak(自分) [sak@localhost ~]$ chgrp sie chgrpsample/ [sak@localhost ~]$ ll 合計 0 drwxr-xr-x. 2 sak sie 6 8月 25 15:18 chgrpsample [sak@localhost ~]$ chgrp test chgrpsample/ chgrp: `chgrpsample/' のグループを変更中: 許可されていない操作です #自身が所属していないグループには変更できない
自身が所有者であるファイルやディレクトリの所有グループは、自身が所属するグループへなら変更できます。
まとめ
今回は、chownコマンドとchgrpコマンドについて解説しました。
chownコマンドはrootユーザのみが実行できます。
chgrpコマンドは一般ユーザでも自身が所有するファイルやディレクトリでありかつ自身の所属グループへの変更なら実行できます。
最後に、確認問題で今回の記事で得た知識を確かめましょう。
確認問題
sample.txtのファイルの所有者をsieに変更し、所有グループをsakに変更するコマンドはどれか。
A) chown sie:sak sample.txt
B) chown sak:sie sample.txt
C) chgrp sie:sak sample.txt
D) chown sie+sak sample.txt
E) chown sie sample.txt | chgrp sak sample.txt