ファイルとディレクトリに対する従来の Linux アクセス許可は、ファイルまたはディレクトリの所有者、ファイルまたはディレクトリが関連付けられているグループのメンバー、およびその他のすべての人 (その他) に対して、読み取り、書き込み、および実行の許可の組み合わせを設定することで構成されます。アクセス制御リスト (ACL) は、これらの従来の Linux アクセス許可よりもきめ細かいアクセス制御メカニズムを提供します。
ACL のインストール
ファイルまたはディレクトリに ACL を使用する前に、acl パッケージをインストールしてください:
# yum install acl
ファイル システムでの ACL の構成
ファイルまたはディレクトリを含むファイル システムも、ACL をサポートするようにマウントする必要があります。以下は、ACL をサポートするローカル ext3 ファイル システムをマウントするための構文です:
# mount -t ext3 -o acl [device-name] [mount-point]
例:
# mount -t ext3 -o acl /dev/mapper/VolGroup00-LogVol00 /data
パーティションが /etc/fstab ファイルにリストされている場合は、acl オプションを含めます:
# vi /etc/fstab LABEL=/data /data ext3 acl 0 0
ACL ルール
ACL は、ACL が関連付けられているファイルまたはディレクトリにユーザーまたはグループがアクセスする方法を指定する一連の規則で構成されます。 ACL ルールには次の 2 種類があります:
<オール>ファイルの ACL を表示
getfacl を使用します ファイルの ACL を表示するユーティリティ。ファイルに ACL がない場合、形式は異なりますが、「ls –l」と同じ情報が表示されます。たとえば、ファイル テストには ACL がありません:
# ls –l test -rw-rw-r-- 1 oracle oracle 25 Mar 5 10:10 test
テスト ファイルの getfacl 出力の例:
# getfacl test # file: test # owner: oracle # group: oracle user::rw- group::rw- other::r--
ファイルに ACL を構成する
setfacl を使用する ファイルの ACL で 1 つ以上のルールを追加または変更するユーティリティ。構文は次のとおりです。
# setfacl -m [rules] [files]
ルールは次の形式です:
- u:name:パーミッション :ユーザー (ユーザー名または UID) のアクセス ACL を設定します
- g:name:パーミッション :グループのアクセス ACL を設定します (グループ名または GID)
- m:パーミッション :有効な権利マスクを設定します。これは、所有グループのすべての権限と、すべてのユーザーおよびグループ エントリの和集合です。
- o:パーミッション :他の全員 (others) のアクセス ACL を設定します
パーミッションは、それぞれ読み取り、書き込み、および実行を表す従来の r、w、および x です。次の例では、テスト ファイルの ACL にルールを追加して、oracle ユーザーにそのファイルへの読み取りおよび書き込み権限を付与します。
# setfacl -m u:oracle:rwx test
getfacl の出力には、ACL ルールが含まれます:
# getfacl test # file: test # owner: oracle # group: oracle user::rw- user:oracle:rwx group::rw- mask::rwx other::r--
ファイルに ACL がある場合、「ls –l」はプラス記号 (+ ) 次の権限:
# ls –l test -rw-rwxr--+ 1 oracle oracle 25 Mar 5 10:10 test
ファイルの ACL の削除
–x を使用します ユーザーまたはグループのルールを削除するための権限を指定せずにオプションを削除します。
# setfacl –x u:oracle test
ACL 自体を削除するには、-b を使用します オプション:
# setfacl –b test
デフォルト ACL の設定
デフォルトの ACL を設定するには、d: を追加します ルールの前に、ファイル名の代わりにディレクトリを指定します:
# setfacl -m d:o:rx /shareUNIX/Linux :アクセス制御リスト (ACL) の基本