讓我向您介紹我的兩個 LDAP 使用者 margaret 和 pepijn。
Pepijn 位於我不存在的公司食物鏈的底部,因此僅是一個 LDAP 群組的成員:
pepijn@srv:/$ groups
user
瑪格麗特是比較幸運的人之一:
margaret@srv:/$ groups
user SVNAccess www-writers book-writers
我已經為 /files/books 設定了預設的 ACL,以便書籍作者的成員具有 rwx 存取權限,而使用者的成員僅具有 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::---
為什麼 Pepijn 無法查看 Margaret 的文件內容?
答案1
您的files/books/
目錄不授予 +x (遍歷)到group:user
.
對於目錄,+r 可讓您列出內容(檔案名稱),但需要 +x 才能實際下降到目錄(因此所有父目錄都需要它/
)。
答案2
需要在acl中新增使用者群組的執行權限,才能遍歷資料夾並讀取檔案。
setfacl -m g:user:r-x /files/books