我有一个网站,应该是完全可访问的Apache(万维网数据用户),我有一个FTP用户(具有相同的用户名在服务器上:user1)应该能够更新网站。
我需要用户能够将文件添加到网站目录,但www数据应该有一个完全访问添加的文件。
user1是www-data组的成员。
现在,当user1上传文件到服务器的文件有一个权利:644,但我需要664。
我如何组织它。
非常感谢
解决这个问题的最好方法是避免使用标准的unix权限来执行。
以下四个命令可以解决这个问题:
setfacl -d -m apache:rwx -R /path/to/shared/folder setfacl -d -m user1:rwx -R /path/to/shared/folder setfacl -m apache:rwx -R /path/to/shared/folder setfacl -m user1:rwx -R /path/to/shared/folder
这改变了使用POSIX ACLS的文件的行为,以便您的FTP用户和Apache可以在该目录内改变/删除/创build文件,而不pipe原始作者是谁。
ACL掩码由组的标准unix位定义。 ACL可以告诉一个目录是一个定向,因为它不可避免地有一个+ x。 一个文件通常不会这样,即使你在其中设置了一个ACL作为rwx,那么+ x部分将被没有被设置的组权限位所掩盖。
另一种方法是使用suPHP,suExec或其他“更改用户执行程序”方法。 但是我个人觉得这些方法不如这个方便。