Linux 多用户权限读/写

Linux 多用户权限读/写

我在 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

相关内容