LinuCレベル1 101試験の例題と解説
1.02.1ファイルの所有者とパーミッション
今回は、LinuC 101試験の試験範囲から「1.02.1 ファイルの所有者とパーミッション」についての例題を解いてみます。
ファイルの所有グループの変更方法について確認しておきましょう。
例題
下記のファイルの所有グループを「testgroup」に変更するコマンドを2つ選択してください。
-rwxr--r--. 1 user1 group1 0 11月 13 14:48 test.sh
- chown user1:testgroup test.sh
- chmod user1:testgroup test.sh
- chown testgroup test.sh
- chgrp testgroup test.sh
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. chown user1:testgroup test.sh」と「4. chgrp testgroup test.sh」です。
chown は、ファイルの所有者を変更するためのコマンドです。rootユーザでしか実行することができません。
chownコマンドの書式は以下の通りです。
chown [オプション] ユーザ[:グループ] ファイル名やディレクトリ名
例えば
chown user2 test.sh
を実行した場合、test.shファイルの所有者をuser2に変更できます。
========================================================
# ls -l test.sh
-rwxr--r--. 1 user1 group1 0 11月 13 14:48 test.sh
# chown user2 test.sh
# ls -l test.sh
-rwxr--r--. 1 user2 group1 0 11月 13 14:48 test.sh
========================================================
所有者がuser1からuser2に変更されました。
さらに、コロン(:)の後ろにグループを指定することで、グループを同時に変更することができます。
グループにtestgroupを指定して
chown user1:testgroup test.sh
を実行してみます。
========================================================
# ls -l test.sh
-rwxr--r--. 1 user2 group1 0 11月 13 14:48 test.sh
# chown user1:testgroup test.sh
# ls -l test.sh
-rwxr--r--. 1 user1 testgroup 0 11月 13 14:48 test.sh
========================================================
所有者がuser2からuser1に変更されたのと同時に、所有グループがgroup1からtestgroupへ変更されました。
所有グループだけを変更するにはchgrp コマンドを利用することができます。
chgrpコマンドは、変更前と変更後の両方に属しているユーザーであれば一般ユーザでも実行が可能です。
chgrpコマンドの書式は以下の通りです。
chgrp [オプション] グループ ファイル名やディレクトリ名
グループにgroup1を指定して
chgrp group1 test.sh
を実行してみます。
※なおuser1は、testgroupとgroup1両方に属しているものとします。
========================================================
$ ls -l test.sh
-rwxr--r--. 1 user1 testgroup 0 11月 14 10:00 test.sh
$ chgrp group1 test.sh
$ ls -l test.sh
-rwxr--r--. 1 user1 group1 0 11月 14 10:00 test.sh
========================================================
所有者は変わらないまま、所有グループだけがtestgroupからgroup1へ変更されました。
例題の選択肢を解説します。
1.chown user1:testgroup test.sh
正解です。
chownコマンドを利用してグループも指定することで、所有グループを変更することができます。
2.chmod user1:testgroup test.sh
誤っています。
chmodコマンドはアクセス権を変更するコマンドです。
よって所有グループを変更することはできません。
3.chown testgroup test.sh
誤っています。
chownコマンドの第一引数にコロンがない場合は、所有者のみが変更されます。
このコマンドの場合、所有グループではなく所有者が変更されます。
4.chgrp testgroup test.sh
正解です。
chgrpコマンドを利用して所有グループを変更することができます。
ファイルへのアクセス許可は、所有者、所有グループ、アクセス権によって決まります。
今回例題で解いた所有者、所有グループの変更方法と合わせて、アクセス権の変更方法も確認しておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里