![如何正确设置www-data文件的acl?](https://linux22.com/image/1564370/%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E8%AE%BE%E7%BD%AEwww-data%E6%96%87%E4%BB%B6%E7%9A%84acl%EF%BC%9F.png)
我的服务器上存储了 Web 文件。目前只有 root 拥有完全访问权限:
drwxr-xr-x 6 root www-data directory
-rw-r--r-- 1 root www-data file.php
问题是开发人员想要使用自己的帐户su - myuser
来访问和修改这些文件。
不幸的是,我发现的唯一解决方案是将这些用户添加到www-data
组中并使 php 文件可写入,但这www-data
很难看。
我还有什么选择?
答案1
我相信你需要使用X并不是X对于可执行文件。
步骤 1:创建备份
首先进行备份,以防有一天出现问题:
mkdir ~/storage-changes
sudo getfacl -R /var/www > ~/storage-changes/default_www_facl
(以防万一)恢复
sudo setfacl --restore=~/storage-changes/default_www_facl
应用 ACL
接下来,申请加入群组:
# -R is recursive
# -m is modify
# -d applies to default ACL
sudo chgrp -R www-data /var/www
sudo setfacl -Rd g:www-data:rwX /var/www
sudo setfacl -Rdm g:www-data:rwX /var/www
ls -lta /var
sudo getfacl /var/www
+
文件/目录列表末尾的 仅表示它具有额外的 ACL 。
答案2
如果您的 Linux 服务器不是太旧,并且您使用的是 Linux 标准文件系统,则可以使用访问控制列表向其他用户授予权限。
myuser
例如,以下命令将授予用户读写权限file
:setfacl -m user:myuser:rw file
setfacl
可能需要安装,具体取决于您的发行版。