Linux
Linux中的ACL繼承:為多個使用者創建700權限的子目錄
如果我從本手冊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 個或更多使用者,這樣子目錄將具有
700
ACL 中每個使用者的權限default
。從事實來看,user:some_user:...
andgroup:someuser:...
將與 mask 相交(在這種情況下為 0,結果也將為 0)。我對嗎?
簡單範例:MySQL 為具有
0700
權限的數據庫創建目錄。我想從我的使用者那裡進行備份(既不mysql
也不root
)。這意味著我想700
為我的使用者獲取使用者在 MySQL目錄中mysqlbackup
創建的子目錄的權限。mysql
MySQL 在創建數據庫時創建它們。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 條目控制有效訪問權限。