我的服务器上存储了 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
可能需要安装,具体取决于您的发行版。