LinuCレベル3 303試験の例題と解説

327.1任意アクセス制御

今回は303試験の試験範囲から「327.1 任意アクセス制御」についての例題を解いてみます。

■トピックの概要

このトピックの内容は以下の通りです。<327.1 任意アクセス制御>
重要度 3

<説明>
拡張属性とアクセス制御リストの使用方法を理解して、知っていることが要求される。

<主要な知識範囲>
・ACL
・EA 及び属性クラス

<重要なファイル、用語、ユーティリティ>
・getfacl
・setfacl
・getfattr
・setfattr

■例題
ACLについての説明として間違っているものを選びなさい。

1. ACLを利用するには、ACLに対応したファイルシステムの利用が必要である
2. ext4でACLを利用するには、マウント時にACL対応を指定する必要がある
3. ACLが設定されると、ls -lコマンドの表示でパーミッションに+が表示される
4. ACLの設定状況はgetfaclコマンドで確認できる

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


解答と解説

答えは2. ext4でACLを利用するには、マウント時にACL対応を指定する必要がある です。

ACLは、Linuxで標準的なPOSIX準拠のアクセス制御よりも詳細にアクセス制御が行える仕組みです。Windowsなどで採用されていることもあり、LinuxとSambaを組み合わせてWindowsクライアント向けのファイルサーバを構築する際などに重宝する機能です。

ACLを利用するには、ACLに対応したファイルシステムを利用する必要があります。たとえばext4などはACLをサポートしており、マウント時に特別ACL対応のオプションを指定してマウントしないでもACLが利用できます。

ACLが利用可能などうかを確認する方法の一つとして、lsコマンドを実行してみる方法があります。-lオプションをつけて実行すると通常のパーミッションが表示されますが、その末尾に「.」がついていればACL対応、さらに「+」になっていればACLが設定されているということになります。

○lsコマンドの例(ACL未設定の場合)
$ ls -l /tmp/acltest
-rw-rw-rw-. 1 sato sato 0  1月 14 20:28 2015 /tmp/acltest

ACLをLinuxのコマンドラインで操作するには、設定はsetfaclコマンドを実行し、設定の確認はgetfaclコマンドを実行します。以下のような使い方になります。

○ACLの設定例
$ setfacl -m u:suzuki:rw /tmp/acltest
$ getfacl /tmp/acltest
getfacl: Removing leading '/' from absolute path names
# file: tmp/acltest
# owner: sato
# group: sato
user::rw-
user:suzuki:rw- ※ユーザsuzukiに対するACLが設定されている
group::rw-
mask::rw-
other::r--

きめ細やかな設定が要求されるような場合、Sambaと組み合わせる場合などに必要となるACL、しっかりと理解しておきましょう。

ページトップへ