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

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

今回は101試験の試験範囲から、「104.5 ファイルのパーミッションと所有者の管理」についての例題を解いてみます。

■トピックの概要
このトピックの内容は以下の通りです。

<104.5 ファイルのパーミッションと所有者の管理>
重要度 3

<説明>
適切なパーミッションと所有者権限を使用して、ファイルへのアクセスを制御できる。

<主要な知識範囲>
・通常ファイル、スペシャルファイル、およびディレクトリに対するアクセスパーミッションを管理する
・SUID、SGID、スティッキービットなどのアクセスモードを使用して、セキュリティを維持する
・ファイル作成マスクの変更方法を把握する
・グループフィールドを使用して、グループメンバーがファイルにアクセスできるようにする

<重要なファイル、用語、ユーティリティ>
chmod
umask
chown
chgrp

■例題
下記のファイルの所有グループに、書き込み権と実行権を与えるコマンドを選択してください。

-rwxr--r--. 1 user01 group01 152  5月 19 14:36 test.sh

1. chmod g+w test.sh
2. chmod g-r test.sh
3. chmod 774 test.sh
4. chmod 764 test.sh

※この例題は実際の試験問題とは異なります。


解答と解説

答えは「3. chmod 774 test.sh」です。

Linuxの権限の基本は、「読み込み」「書き込み」「実行」の3つです。
この3つの権限を、ファイルやディレクトリのオーナーやグループ、その他のユーザにどこまで許可をするかを決めることができます。

例題に「ls -l」コマンドの結果の記載がありますが、出力の中で権限の情報を表すのは「rwxr--r--」の部分です。並び順の意味は以下のようになっています。

--------------------------
オーナー グループ  その他
--------------------------
rwx      r--       r--
--------------------------

文字の意味は以下です。

r … 読み込み
w … 書き込み
x … 実行

この表記は、ビット(2進数)で表すことができます。
「rwx」の並び順で、許可されていなければ0、許可されていれば1となります。

例えばオーナーの権限「rwx」はすべて許可されているので、「111」(2進数)です。「111」を8進数に変換すると「7」になります。

またグループとその他の権限「r--」は「100」(2進数)ですので、8進数に変換すると「4」になります。つまり、「rwxr--r--」は8進数表記で「744」となります。

chmodコマンドは、権限を文字で設定することも、数値で設定することもできます。

文字で表現する場合、所有者の情報は以下のように表現します。

u … 所有者
g … グループ
o … その他のユーザ
a … すべて

この所有者情報に対して「chmod g+w ファイル名」などのように、「+」や「-」の記号で、権限を付与したり解除することができます。また「chmod 644 ファイル名」などのように数値で、権限を指定することもできます。

今回の例題の場合、test.shは以下の権限になっています。

オーナー … 読み込み(4)・書き込み(2)・実行(1)の許可(つまり数値としては7)
グループ … 読み込み(4)の許可
その他   … 読み込み(4)の許可

「1. chmod g+w test.sh」の場合、グループに書き込み権を付与しているだけなので、変更後の権限は「-rwxrw-r--」となります。つまりグループは、読み込み権と書き込み権だけになるので不正解です。

「2. chmod g-r test.sh」の場合、グループの読み込み権を解除しています。
変更後の権限は「-rwx---r--」となるため、この選択肢も不正解になります。

「3. chmod 774 test.sh」は、元々の権限「-rwxr--r--(744)」を、「-rwxrwxr--(774)」に変更しています。つまりグループに書き込み権(2)・実行権(1)の許可を追加していることになります。このためこの選択肢が正解です。

「4. chmod 764 test.sh」を実行すると、権限は「-rwxrw-r--」になります。
つまり、グループの権限が読み込み権と書き込み権のみであるため、不正解です。

権限情報の操作は、最初は難しいと感じるかもしれません。
ただ権限の管理は、システムのセキュリティレベルを向上させるためには、必須の知識です。よく覚えておきましょう。

■例題作成者
株式会社デージーネット ソリューション開発部    森 彰吾 氏

ページトップへ