ACLにはアクセスACL と デフォルトACLの2種類があります。 アクセスACLは特定ファイルやディレクトリのアクセス制御リストです。 デフォルトACLはディレクトリのみに関係し、ディレクトリ内のファイルがACLにアクセス できない場合、デフォルトACLのルールをそのディレクトリに適用します。 デフォルトACLの設定は任意です。
ACLは次のように設定します。
ユーザーごと
グループごと
有効な権利マスクを経由
ファイルのユーザーグループに含まれていないユーザー
setfacl ユーティリティでファイルとディレクトリのACLを 設定します。-mオプションにてファイル又はディレクトリの ACLを追加又は変更して下さい。
setfacl -m <rules> <files> |
次のフォーマットにてルール(<rules>)を指定して 下さい。同じコマンドにてルールを複数指定する場合はコンマで区切って下さい。
ユーザーのアクセルACLを設定します。 ユーザー名、又はUIDを指定できます。 システム上で有効なユーザーを指定して下さい。
グループのアクセルACLを設定します。 グループ名、又はGIDを指定できます。 システム上で有効なグループを指定して下さい。
有効な権利マスクを設定します。 このマスクはグループが有する全許可と 全ユーザー/全グループを連結します。
ファイルに対するグループのユーザーでないユーザーのアクセスACLを設定します。
余白は無視されました。書き込み、読み取り、実行の許可(<perms>) はr、w、x文字の組み合わせでなければなりません。
ファイル、又はディレクトリのACLが既に存在し、setfaclコマンドが使用されている場合、既存のACLにルールを追加したり、 既存ルールを変更することができます。
読み取りと書き込み許可をユーザー tfox に与える場合の例は次の通りです。
setfacl -m u:tfox:rw /project/somefile |
ユーザーやグループなどの許可を全て解除する場合は、-x オプションを使い、 許可の指定を解除して下さい。
setfacl -x <rules> <files> |
ユーザー UID 500 の許可を全て解除する場合の例は次の通りです。
setfacl -x u:500 /project/somefile |