Linux

Linux中的ACL繼承:為多個使用者創建700權限的子目錄

  • February 21, 2016

如果我從本手冊http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html>正確理解這張圖片<http://www.vanemery.com/Linux/ACL/img1.gif,則通過 chmod 進行設置700

user::rwx
mask::---
other::---

(實際上它確實如此)。

但這意味著我不能創建目錄和 2 個或更多使用者,這樣子目錄將具有700ACL 中每個使用者的權限default。從事實來看,user:some_user:...andgroup:someuser:...將與 mask 相交(在這種情況下為 0,結果也將為 0)。

我對嗎?

簡單範例:MySQL 為具有0700權限的數據庫創建目錄。我想從我的使用者那裡進行備份(既不mysql也不root)。這意味著我想700為我的使用者獲取使用者在 MySQL目錄中mysqlbackup創建的子目錄的權限。mysqlMySQL 在創建數據庫時創建它們。

root@248261c6cbcc:/var/lib/mysql# getfacl .
# file: .
# owner: mysql
# group: mysql
user::rwx
user:mysqlbackup:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:mysqlbackup:rwx
default:group::---
default:mask::rwx
default:other::---

root@248261c6cbcc:/var/lib/mysql# sudo -u mysql -H mkdir -m 700 it_must_be_database_dir

root@248261c6cbcc:/var/lib/mysql# getfacl it_must_be_database_dir/
# file: it_must_be_database_dir/
# owner: mysql
# group: mysql
user::rwx
user:mysqlbackup:rwx        #effective:---
group::---
group:mysqlbackup:rwx       #effective:---
mask::---
other::---
default:user::rwx
default:user:mysqlbackup:rwx
default:group::---
default:group:mysqlbackup:rwx
default:mask::rwx
default:other::---

正如你所看到的,有效的權利是---,沒有。

那麼,我可以設置 ACL 以使使用者700可以訪問創建的目錄嗎?mysqlbackup

不,你不能。使用 700 權限,您將強制使用 — 遮罩,並且系統會遵守您的指令。

您只需要使用更寬鬆的遮罩(例如:rwx)並僅通過 ACL 條目控制有效訪問權限。

引用自:https://serverfault.com/questions/758773