LinuCレベル3 303試験の例題と解説
327.1任意アクセス制御
LinuCレベル3 303試験の試験範囲から「327.1 任意アクセス制御」についての例題を解いてみます。
今回はACL設定の確認方法について確認していきましょう。
例題
workディレクトリに、以下のようなファイルがあります。
・test.txt
-ユーザー「ueno」に対して、「read」の許可を与えている
・test2.txt
-基本ACLエントリしか持たないファイル
この時、「work」ディレクトリ配下のファイルよりACL設定を行っているファイルのみを表示するコマンドを選択しなさい。
- getfacl -Rs work
- getfacl -Rc work
- getfacl -nc work
- getfacl -nd work
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1.getfacl -Rs work」です。
ACLとは、任意アクセス制御方式の一つです。
基本ACLでは、通常のファイルアクセス制御を行うことができます。拡張ACLでは、特定のユーザやグループに対して、粒度の細かいアクセス制御を行うことが可能です。
ACL設定を参照するコマンドは、getfaclコマンドです。
書式は以下の通りです。
getfacl [オプション] ファイル名
また、使用できるオプションは以下のようなものがあります。
オプション | 省略形 | 概要 | |
--access | -a | : | ファイルACLだけを表示する |
--default | -d | : | デフォルトACLだけを表示する |
--omit-header | -c | : | コメントヘッダを表示しない |
--all-effective | -e | : | 実行権がACLエントリで定義された権利と同じ場合もコメントをすべて表示する |
--no-effective | -E | : | 実行権のコメントを非表示にする |
--skip-base | -s | : | 基本ACLエントリしか持たないファイルをスキップする |
--recursive | -R | : | ディレクトリを再帰的に表示する |
--numeric | -n | : | ユーザー番号とグループ番号で表示する |
それでは選択肢を見ていきます。
1.getfacl -Rs work
正解です。
-Rオプションは、ディレクトリを再帰的に表示します。
-sオプションは、基本ACLエントリしか持たないファイルをスキップして表示します。
実行してみると以下のようになります。
[root@server ~]# getfacl -Rs work
# file: work//test.txt
# owner: root
# group: root
user::rw-
user:ueno:r--
group::r--
mask::r--
other::r--
2.getfacl -Rc work
不正解です。
-cオプションは、コメントヘッダを非表示にするオプションです。
実行してみると以下のようになります。
[root@server ~]# getfacl -Rc work
user::rwx
group::r-x
other::r-x
user::rw-
user:ueno:r--
group::r--
mask::r--
other::r--
user::rw-
group::r--
other::r--
ACL設定を行っていないファイルも表示されています。
また、コメントヘッダを非表示にしているのでどのファイルの設定なのかわかりません。-cオプションについては、特定ファイルの拡張ACLのみを表示するときに利用しましょう。
今回の問題は、ACL設定を行ったファイルのみ表示を行いたいので適切ではありません。
3.getfacl -nc work
不正解です。
-nオプションは、ユーザー番号とグループ番号で表示します。
実行してみると以下のようになります。
[root@server ~]# getfacl -nc work
user::rwx
group::r-x
other::r-x
「work」ディレクトリは、ACL設定を行っていないので変化がわかりません。
「test.txt」ファイルで、もう一度実行してみます。
[root@server ~]# getfacl -c work/test.txt
user::rw-
user:ueno:r--
group::r--
mask::r--
other::r--
[root@server ~]# getfacl -nc work/test.txt
user::rw-
user:1000:r--
group::r--
mask::r--
other::r--
-nオプションなしのものと比較すると、uenoユーザーのユーザー番号が表示されているのがわかります。
今回の問題は、ACL設定を行ったファイルのみ表示を行いたいので適切ではありません。
4.getfacl -nd work
不正解です。
-dオプションは、デフォルトACLだけを表示します。
実行してみると以下のようになります。
[root@server ~]# getfacl -nd work
# file: work
# owner: 0
# group: 0
[root@server ~]# getfacl -n work
# file: work
# owner: 0
# group: 0
user::rwx
group::r-x
other::r-x
デフォルトACLのみが表示されています。
今回の問題は、ACL設定を行ったファイルのみ表示を行いたいので適切ではありません。
getfaclコマンドのオプションを確認して、ACL設定を臨機応変に確認できるようにしましょう。
例題作成者
株式会社デージーネット OSS研究室 上野 貴博