LinuCレベル1 Version 4.0 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」です。
この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--」になります。
つまり、グループの権限が読み込み権と書き込み権のみであるため、不正解です。
権限情報の操作は、最初は難しいと感じるかもしれません。
ただ権限の管理は、システムのセキュリティレベルを向上させるためには、必須の知識です。よく覚えておきましょう。
■例題作成者 株式会社デージーネット ソリューション開発部 森 彰吾 氏