我如何实现这个设置:
我使用一个主要用户通过 ssh 进入服务器并编辑多个站点的所有文件。
各个站点都存储在/srv/www
目录中,因此/srv/www/site1
,/srv/www/site2
。
Nginx 将为每个站点创建一个不同的用户来运行该站点(显然这对安全性有好处)。
我希望能够让所有文件归/srv/www/site1
用户所有site1
并属于该site1
组。我希望能够编辑这些文件并与我的主要用户一起创建新文件,同时仍保留所有者 site1 和组 site1。
我知道我需要以某种方式设置默认值umask
,并且可能需要将我的主要用户添加到每个站点的组中,但我似乎无法做到这一点。有什么帮助吗,或者这是个好主意吗?
答案1
您需要在目录上设置 SUID 和 SETGID(chmod u+s 目录和 chmod g+s 目录),这样,无论哪个用户创建“目录”下创建的所有文件都将属于拥有该文件夹的用户,并且权限也将保留。