如何告诉apache接受服务chrooted网站?

时间:2017-02-01 23:29:56

标签: apache http server

在Apache的默认实现状态下,程序可以提供的默认最小权限似乎如下:

_ _ _ _ _ _r _ _ (for a file)

_ _ _ _ _ _ _ _ x (for a directory)

如果没有,当尝试从浏览器访问资源时,只会失败并且像"这样的消息无法访问资源"只会显示。

现在我正在寻找一种方法来修改这种行为,我需要告诉apache服务根文件和目录(可能在httpd.conf中?我无法找到),所以具有以下权限:

r _ _ _ _ _ _ _ _ (for a file)

_ _ x _ _ _ _ _ _ (for a directory)

我的计算机上有一个网站,我只需要root就可以修改它,但是当被请求时,apache应该按照预期的方式为网站提供服务。

1 个答案:

答案 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 '{}' \;

从那里,如果它继续出错,请查看错误日志,看看是否还有其他问题。