Centos 6.5 /var/www/html/ 用户权限

Centos 6.5 /var/www/html/ 用户权限

我有一台专用服务器,但只有 root 可以访问我的托管目录。当我尝试以其他用户身份访问该目录时,所有其他用户都会被拒绝访问。

我创建了一个新用户,并将该用户添加到 apache 组(因为该目录归 apache 所有)

# usermod -a -G apache newuser

也尝试过

# usermod -g apache newuser

是的,我已重新登录并重启了 SSHD

我已将权限设置为 775,但由于我正在运行 Magento,因此并未递归设置。

drwxrwxr-x+ 8 apache apache      4096 Apr  7 21:52 website

我也尝试使用访问控制列表,如下所示

setfacl -m u:user:rw /var/www/html/website

# file: website
# owner: apache
# group: apache
user::rwx
user:user:rw-
user:userb:rw-
group::r-x
mask::rwx
other::r-x

答案1

如果有人遇到类似的问题,这就是我所做的。我希望这是正确的方法,但我不确定。

权限中的 +

drwxrwxr-x+ 

表示目录上有有效的访问控制列表。

我按照如下所示递归更改了 ACL 的权限,并为用户添加了执行权限。

setfacl -Rm u:user:rwx /var/www/html/website

答案2

进入top

然后观察 httpd 进程。在 USER 列的最左边应该显示类似“nobody”或“www-userdata”之类的内容。记住它。

然后更改为您的主目录,例如 /home/myuser/public_html。

跑步

cd /home/myuser/

跑步

chown -R nobody:nobody public_html(如果不同的用户运行 apache 进程,则替换 nobody:nobody)

根据您的 PHP 处理程序(suPHP),您可能需要:

在目录上运行chown user:nobody public_html,其中用户是该目录所属用户的名称。

为了确保万无一失,请验证文件是否已 chmodded 644 且目录是否已 750/750。public_html 应该是 750,而不是 775

如果您对任何内容发出 775,那么您将暴露自己,并向将利用您的服务器的外部人员授予读取和执行权限。他们可能无法写入文件,但如果他们使用缓冲区溢出漏洞并获得访问权限,他们就不必这样做,并且可以在您的服务器上执行文件。

相关内容