Jan*_*ček 6 linux acl permissions privileges
我正在使用 ACL 来控制对不同 Apache 实例和不同管理员组的 Web 根的访问。我有一个 Unix 组,admins-web22
用于特定网站的管理员和apache-web22
特定 apache 实例的用户。这些是在 web 根目录上设置的权限:
# file: web22
# owner: root
# group: root
user::rwx
user:apache-web22:r-x
group::rwx
group:webmaster:rwx
group:admins-web22:rwx
mask::rwx
other::---
default:user::rwx
default:user:apache-web22:r-x
default:group::rwx
default:group:admins-web22:rwx
default:mask::rwx
default:other::r-x
Run Code Online (Sandbox Code Playgroud)
有一个用户fred
是 的成员admins-web22
。该用户具有对该目录的完全读写访问权限(如上所述)。这工作正常。但是,该用户无法授予用户apache-web22
对某些文件和目录的写权限,这一点很重要(例如,Web 管理员想要为 Drupal 设置上传目录)。该setfacl
命令给出“不允许操作。”。
我的问题是,谁可以使用 授予权限setfacl
,我怎样才能让组的用户自己admins-web22
更改权限(为apache-web22
)?
我正在运行 Debian Wheezy,如果它很重要,它是一个 ext4 分区。
手册setfacl
页解释了谁可以授予权限:
文件所有者和有能力的进程
CAP_FOWNER
被授予修改文件 ACL 的权限。这类似于访问文件模式所需的权限。(在当前的 Linux 系统上,root 是唯一具有此CAP_FOWNER
功能的用户。)
因此fred
只能用于setfacl
他拥有的文件。根据您的具体安全要求,您可以允许 的成员作为(使用)admins-web22
运行,这将允许他们更改...拥有的文件的 ACL。setfacl
apache-web22
sudo
apache-web22