我已将网站文件的所有者设置为 www-data,并赋予其 755 权限。现在,我需要以我的身份运行一些命令。
我收到权限错误。
我如何允许我的用户在这些文件上运行 cmd 但仍然拥有 www-data 作为所有者?我不想设置 777 权限。
答案1
Linux 不允许两个用户同时成为所有者。这就是群组的作用所在。创建一个新组(例如,wwwgroup
将www-data
和 您 都放入该组中。然后,将站点文件的组设置为wwwgroup
。
操作方法如下:
sudo groupadd wwwgroup
usermod -aG wwwgroup www-data
usermod -aG wwwgroup <YOUR-USER-NAME>
答案2
POSIX 访问控制列表 (ACL) 是针对文件和目录的更细粒度的访问权限。ACL 由指定相关对象访问权限的条目组成。可以按用户、按组或通过有效权限掩码配置 ACL。
更多信息请见这里。
值得注意的是,在 14.04 及更新版本中,POSIX ACL 将开箱即用,不需要安装任何额外的软件包。
以下命令将递归设置 ACL,使用户“yourusername”对 /var/www-data 及其他内容具有读取、写入和执行权限。
setfacl -R -m u:yourusername:rwx /var/www-data
要查看文件夹的 ACL 设置...
getfacl /var/www-data
并删除您刚刚设置的 ACL...
setfacl -x u:yourusername /var/www-data