在Apache的默认实现状态下,程序可以提供的默认最小权限似乎如下:
_ _ _ _ _ _r _ _ (for a file)
和
_ _ _ _ _ _ _ _ x (for a directory)
如果没有,当尝试从浏览器访问资源时,只会失败并且像"这样的消息无法访问资源"只会显示。
现在我正在寻找一种方法来修改这种行为,我需要告诉apache服务根文件和目录(可能在httpd.conf中?我无法找到),所以具有以下权限:
r _ _ _ _ _ _ _ _ (for a file)
和
_ _ x _ _ _ _ _ _ (for a directory)
我的计算机上有一个网站,我只需要root就可以修改它,但是当被请求时,apache应该按照预期的方式为网站提供服务。
答案 0 :(得分:0)
听起来你可能需要在chrooted / etc / passwd和/ etc / group中没有用户,所以可能:
首先进行完整备份!
chroot /path/to/chroot
adduser nobody
chgrp -R nobody /path/to/documentroot
chown -R root /path/to/documentroot
find /path/to/documentroot -type d -exec chmod -v u=r,g=rx,o=x '{}' \;
find /path/to/documentroot -type f -exec chmod -v u=r,g=r,o=r '{}' \;
从那里,如果它继续出错,请查看错误日志,看看是否还有其他问题。