localhost 403-如何设置正确的权限?

localhost 403-如何设置正确的权限?

我的 DocumentRoot 设置为 /var/workspace/www

drwxrwx--- 110 radek www-data 4096 Jul 11 11:34 www

首先,我对该文件夹(及其里面的所有文件)有 777 权限,但我不喜欢这样,因为每个人都可以看到并更改它。

由于 Apache 在用户 www-data:www-data 下运行,我尝试设置组和权限:

sudo chgrp www-data www -R
sudo chmod 770 www -R

我做完这些之后,http://本地主机开始显示 403 - 禁止访问。看起来 apache 在权限方面被视为“其他”(来自所有者、组、其他)。

我应该进行哪些更改(权限、所有者等等)才能使所有文件仅对我(用户 radek)可见且可更改,并可由 apache 执行?

如我所见,有一个 Apache 进程在 root 下运行,还有许多其他进程在 www-data 下运行。

radek@me:/$ ps -Af | grep apache
root     13165     1  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13173 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13174 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13175 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13176 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13177 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13190 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start
www-data 13194 13165  0 11:37 ?        00:00:00 /usr/sbin/apache2 -k start

第一个工序是不是造成上述问题的原因呢?

答案1

Apache(和许多其他守护进程)以 root 身份启动,然后切换到另一个用户。这是正确的。用户权限 755 应该是正确的(所有者具有读写和执行权...或 4 2 和 1...组具有读取和执行权...而其他人具有读取和执行权)

您的 770 设置意味着

所有者具有读写执行功能。组具有读写和执行功能。其他人都没有任何权限。

在这些设置下它将始终发出 403。

如果您希望特定用户具有读写权限,那么您必须将其分配给该用户。

相关内容