LinuCレベル3 303試験の例題と解説
327.1任意アクセス制御
■トピックの概要
このトピックの内容は以下の通りです。
<327.1 任意アクセス制御>
重要度 3
<説明>
拡張属性とアクセス制御リストの使用方法を理解して、知っていることが要求される。
<主要な知識範囲>
・ACL
・EA 及び属性クラス
<重要なファイル、用語、ユーティリティ>
・getfacl
・setfacl
・getfattr
・setfattr
■例題
ACL設定を削除するために使用するコマンドを選びなさい。
1. getfacl
2. setfacl
3. getfattr
4. setfattr
※この例題は実際のLinuC試験とは異なります。
解答と解説
答えは2. setfacl です。
伝統的なUNIXのファイルアクセスの仕組みは、ファイルの所有ユーザー、所有グループ、その他のユーザーに対する読み書き実行の権限を付与する形式となっており、3種類のアクセス制御しか行えません。ACLはたとえばユーザーを複数指定してそれぞれに対してアクセス権を付与することができるので、特定のユーザー権限で動作しているプロセスからのアクセスだけを許可する、などの設定が可能となります。
ACLは従来のファイルシステムを拡張する形で実装されているため、アクセス制御の情報は拡張属性と呼ばれる領域に格納されています。拡張属性にはACLの他に変更不可にする設定やdumpコマンドの対象にしないなどの設定も格納しておくことができます。前者はユーザーrootのみに設定が可能な属性、後者は/etc/fstabでマウントポイント毎に指定する項目であったものをファイル毎に設定できるようにしたものです。
ACLの設定はsetfaclコマンドで実行しますが、ACL設定の削除もsetfaclコマンドで行います。setfaclコマンドに-bオプションを付けて実行することで指定したファイルに追加で付与したすべてのACLを削除します。