我有一台运行 Debian 的服务器,安装了 Apache 2.2.16、PHP/MySQL,现在还有一个 Wordpress 实例。我在 Debian 上尝试使用用户/组权限,但无法让它按我想要的方式工作。
我相信 Apache 只使用用户www-data
。以下设置有效
/var/www# chown -R www-data:nogroup wordpress
/var/www# chmod -R 700 wordpress
/var/www# ls -l | grep wordpress
drwx------ 5 www-data nogroup 4096 Nov 1 09:30 wordpress
以下不起作用。
/var/www# groupadd wordpress
/var/www# usermod -a -G wordpress www-data
/var/www# groups www-data
www-data : www-data wordpress
/var/www# chown -R nobody:wordpress wordpress
/var/www# chmod -R 770 wordpress
/var/www# ls -l | grep wordpress
drwxrwx--- 5 nobody wordpress 4096 Nov 1 09:30 wordpress
通过上述设置,当我尝试在浏览器中访问该页面时,我得到:
You don't have permission to access /wordpress/ on this server.
这是我的理解:文件夹归组所有wordpress
,并且文件夹具有授予拥有组的所有权限(读取,写入,执行)wordpress
。 Apache 用户www-data
是组的成员wordpress
,因此它应该拥有文件夹的所有权限。
我误解什么了吗?
答案1
您必须重新启动 Web 服务器:
/etc/init.d/apache2 restart
否则,组更改不会产生任何效果。要快速测试您的 Apache 属于哪个组,您可以创建一个 PHP 脚本,如下所示:
<?php
echo exec('id');
?>
将其存储在 eg 中/var/www/test.php
并查看http://localhost/test.php
。如果您看到该组,wordpress
则您的设置应该可以正常工作,并且您还应该能够访问您的 wordpress 博客。