我已经设置了一个 Web 服务器,该服务器将为多个客户端托管站点,每个客户端都有自己的用户,并且他们网站的文件将存在于/var/www
.
我们通过一个名为 DeployHQ 的服务部署代码,该服务使用客户端用户名通过 SSH 连接,因此当文件被推送到服务器时,它们是使用该客户端用户名和组创建的。
我遇到的问题是 Web 服务器用户www-data
无法更新文件,例如这个.htaccess
文件:
4 -rw-rw-r-- 1 client_user client_user 945 Oct 30 12:07 .htaccess
我可以将文件组更改为www-data
,但是不会以这种方式创建已部署的新文件,因此这不是一个长期的解决方案。
考虑到我希望每个客户都有一个用户,任何人都可以推荐一种方法来允许www-data
执行客户用户可以做的任何事情吗?
我刚刚阅读了一些关于设置的Set-Group-ID
内容,这是我应该考虑的吗?
非常感谢
这可以通过在每个用户的目录上设置 SGID 位来实现。例如:
请记住确保您的用户掩码也对文件设置了正确的组权限!