Linux 中的 ACL 继承:为多个用户创建具有 700 个权限的子目录

Linux 中的 ACL 继承:为多个用户创建具有 700 个权限的子目录

如果我理解正确的话这张图片http://www.vanemery.com/Linux/ACL/img1.gif来自本手册http://www.vanemery.com/Linux/ACL/POSIX_ACL_on_Linux.html通过 chmod设置700将使

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

(事实上​​也确实如此)。

但这意味着我无法创建目录和 2 个或更多用户,使得子目录700对 ACL 中的每个用户都具有权限default。事实上,user:some_user:...group:someuser:...将与掩码相交(在这种情况下为 0,结果也将为 0)。

我对吗?

简单示例:MySQL 为具有权限的数据库创建目录0700。我想从我的用户(既不是mysql也不是root)进行备份。这意味着我想为我的用户获取用户在 MySQL 目录中创建的子目录的700权限。MySQL 在创建数据库时创建它们。mysqlbackupmysql

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吗?

答案1

不可以。使用 700 权限,您正在强制使用 --- 掩码,系统会遵守您的指令。

您只需使用更宽松的掩码(例如:rwx)并仅通过 ACL 条目控制有效访问权限。

相关内容