私の 2 人の LDAP ユーザー、margaret と pepijn を紹介します。
Pepijn は私の存在しない企業の食物連鎖の最下層に位置しているため、1 つの LDAP グループのみのメンバーです。
pepijn@srv:/$ groups
user
マーガレットは幸運な人の一人です。
margaret@srv:/$ groups
user SVNAccess www-writers book-writers
/files/books のデフォルトの ACL を設定したので、book-writers のメンバーは rwx アクセスを持ち、user のメンバーは r アクセスのみを持ちます。
# file: files/books/
# owner: root
# group: book-writers
user::rwx
group::r--
group:user:r--
group:book-writers:rwx
mask::rwx
other::---
default:user::rwx
default:group::r--
default:group:user:r--
default:group:book-writers:rwx
default:mask::rwx
default:other::---
Margaret は、ファイル /files/books/test.txt にデータを書き込みます。その後、Pepijn はファイルの内容を確認しようとしますが、アクセス拒否エラーが表示されてがっかりします。
ファイルに対して getfacl を実行すると、次の結果が返されます。
# file: files/books/test.txt
# owner: margaret
# group: user
user::rw-
group::r--
group:user:r--
group:book-writers:rwx #effective:rw-
mask::rw-
other::---
なぜペペインはマーガレットのファイルの内容を見ることができないのでしょうか?
答え1
あなたのfiles/books/
ディレクトリは に +x (トラバース) を許可していませんgroup:user
。
ディレクトリの場合、+r を使用すると内容 (ファイル名) を一覧表示できますが、実際にディレクトリ内まで降りるには +x が必要です (したがって、 までのすべての親に対して +x が必要です/
)。
答え2
フォルダーを走査してファイルを読み取るには、ACL にユーザー グループの実行権限を追加する必要があります。
setfacl -m g:user:r-x /files/books