我在我的Linux服务器上托pipe我自己的帐户(例如/ home / siteA-com / http,/ home / siteB-com / http等)。 我在http文件夹的内部文件上findwww-data,这样服务器可以在需要的地方进行更改(即Wordpress)。 我怎样才能让这些用户SFTP进入这些目录,并能够更改文件?
您需要创build更多的组(并设置适当的组权限),或者使用ACL 。
即使这可能属于ServerFault,我会继续并回答它。
我假设用户在同一个组中,如果没有,您将需要通过您的访问控制系统(ACL,LDAP等)来完成此操作。 如果他们都在同一组中,则可以通过执行给予组权限
chmod g+rXw /path/to/file
请参阅相应的手册页(chmod,usermod等)以获取更多选项。
在第一个回复中提到了这个问题,但答案确实是Unix访问控制列表,它将标准的unix文件权限扩展到更加灵活和具体的东西。
这两个命令是你的朋友:
他们真的很棒,他们可以recursion设置,并设置所有新的文件和文件夹的默认权限(所以你不必一次又一次地保持设置的权限,当你做新的文件)。
例:
Apache&FTP可以读取/写入httpdocs,但用户joebrown只能读取httpdocs。
setfacl -R -mu:apache:rwx ./httpdocs setfacl -R -mu:ftpuser:rwx ./httpdocs setfacl -R -mu:joebrown:rx ./httpdocs
您可以使用-d标志运行相同的命令,将其设置为新文件的默认策略。
我所做的是把我的用户放在“开发”下,并设置public_html目录如下。
chgrp dev public_html chmod 775 public_html