我的专用网络服务器存在权限问题,但我不明白我做错了什么。
- Ubuntu 14.04
- 内核 3.19.2
- Apache 2.4.7
- PHP 5.5.9
- MySQL 5.5
(除内核外,其余均来自官方存储库。内核来自 Vivid 存储库)
我已经安装了 apache2,它以用户 www-data 启动
我已经设置了一个虚拟主机/home/USER1/public_html
(所有权为 USER1:USER1)
所以如果我安装任何 CMS(例如 joomla、wordpress 或 phpbb),我会遇到很多权限问题,并且我被迫将 chmod 设置为 777(天哪!违背常识)才能安装其中一个。
据我所知,这种 CMS 的“标准”模式是目录 755,文件 644
但如果我设置了这些权限,我就无法对 cms 执行任何操作(安装任何东西或更新它。文件将被视为不可写)。775 也有同样的问题
所以问题是我的网络服务器需要对“其他”的所有权限,而不仅仅是对用户(或至少对组)的权限
为了避免这个麻烦,我已将 USER1 添加到 www-data 组
usermod -a -G www-data USER1
但是使用 775 或 755 仍然无法写入文件。唯一允许的模式仍然是 777(天哪,在同一篇文章中写两次真是太可怕了:D)
这是什么问题?我该如何解决?
答案1
我已经自己解决了这个问题
usermod -a -G USER1 www-data
chown -R USER1:www-data /home/USER1/public_html
chmod ug+s /home/USER1/public_html
这不是“最佳方式”,但比使用 www-data 作为所有虚拟主机的所有者和管理者更好!!!