LinuCレベル1 101試験の例題と解説

1.02.1ファイルの所有者とパーミッション

今回は、LinuC 101試験の試験範囲から「1.02.1 ファイルの所有者とパーミッション」についての例題を解いてみます。
ファイルの所有グループの変更方法について確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

下記のファイルの所有グループを「testgroup」に変更するコマンドを2つ選択してください。

-rwxr--r--. 1 user1   group1     0 11月 13 14:48 test.sh
  1. chown user1:testgroup test.sh
  2. chmod user1:testgroup test.sh
  3. chown testgroup test.sh
  4. 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研究室 橋本 知里

ページトップへ