![Linux 多用户权限读/写](https://linux22.com/image/497717/Linux%20%E5%A4%9A%E7%94%A8%E6%88%B7%E6%9D%83%E9%99%90%E8%AF%BB%2F%E5%86%99.png)
我在 Linux 服务器上托管我的网站,每个网站都有自己的帐户(例如 /home/siteA-com/http、/home/siteB-com/http 等)。我在 http 文件夹的内部文件上 chown www-data,以便服务器可以在需要时进行更改(即针对 Wordpress)。我如何允许这些用户通过 SFTP 进入这些目录并能够更改文件?
答案1
您需要创建更多组(并设置适当的组权限),或使用访问控制列表秒。
答案2
尽管这可能属于 ServerFault,但我还是会继续回答它。
我假设这些用户属于同一组,如果不是,您需要通过访问控制系统(ACL、LDAP 等)进行操作。如果他们都属于同一组,您可以通过以下方式授予组权限
chmod g+rXw /path/to/file
请参阅相应的手册页(chmod、usermod 等)以获取更多选项。
答案3
这是在第一个回复中提到的,但答案实际上是 Unix 访问控制列表,它将标准 unix 文件权限扩展为更加灵活和具体的内容。
这两个命令对你有帮助:
- setfacl—设置 ACL
- getfacl—查看当前 ACL
它们真的很棒,它们可以递归设置,还可以设置所有新文件和文件夹的默认权限(因此,当您创建新文件时,不必一遍又一遍地保留设置权限)。
例子:
Apache 和 FTP 可以读取/写入 httpdocs,但用户 joebrown 只能读取 httpdocs。
setfacl -R -m u:apache:rwx ./httpdocs
setfacl -R -m u:ftpuser:rwx ./httpdocs
setfacl -R -m u:joebrown:r-x ./httpdocs
您可以使用 -d 标志运行相同的命令,将其设置为新文件的默认策略。
答案4
我所做的是将我的用户放在“dev”下并设置public_html目录如下。
chgrp dev public_html chmod 775 public_html