我刚刚安装了一个 Ubuntu 服务器,它将承载许多不同的网站,我想为这些网站添加 CMS 控制面板。
出于安全原因,我将拥有所有网站,例如site-x:site-x
。
CMS 站点归所有www-data:www-data
,我需要为所有站点添加静默权限,以便www-data:www-data
可以读取和写入他们的文件...但他们不能互相读取/写入www-data:www-data
。
我该如何设置?
答案1
为什么不将 www-data 添加到其他每个组中?这样 www-data 也是 site-x 组的成员。(以及 site-y、site-z 等)
您可以通过 usermod 执行此操作: usermod -a -G site-x www-data
将用户 www-data 添加到 site-x 组。然后它可以写入 site-x 拥有的任何文件,只要该文件已启用组写入位。
答案2
但是,将 www-data 添加到站点组并不安全。据我所知,www-data 是 apache webserver 的用户,任何来自 site-x 的恶意脚本在从 web 调用时都可以读取/写入 site-y 数据。
我建议为 CMS 创建特殊用户,在 suexec 下运行 cms 并将其添加到站点组。