我正在尝试在PHP中设置一个站点。我的道路如下:
chroot = /var/www/
chdir = www/这款色块没有白粉就能正常工作。但是当我添加chdir时,我在php启动时得到了这个错误:
ERROR: [pool www] the chdir path '/usr/www/' within the chroot path '/var/www/' ('/var/www///usr/www/') does not exist or is not a directory
有人知道它为什么会把/usr/附加到chdir路径中吗?有没有办法把它从那条路上移开?
此外,如果我将chdir路径更改为/www/,则必须浏览到http://localhost/www/filename.php以查看我的文件。难道这不是没有必要的吗?
发布于 2012-09-21 16:51:13
昨晚从phpfreaks IRC那里得到了帮助。Apache方面的一个问题是,我需要它将"/www“发送到PHP。
发布于 2012-09-20 21:23:03
仅仅设置一个任意目录是不够的--实际上您需要构建chroot并确保它包含所有必需的库、设备和二进制文件。
否则,DNS解析之类的基本内容将无法工作,您将得到随机错误、挂起或应用程序分段错误。听起来你把open_basedir的简单性和色度的简单性搞错了。
作为一个开始,这个脚本,一旦定制,应该给你一个色度的基础。
http://www.fuschlberger.net/programs/ssh-scp-sftp-chroot-jail/make_色色_jail.sh
但现实地说,如果你对色片没有什么经验.
我猜安全是你的目标,但你很有可能最终的结果正好相反。
https://serverfault.com/questions/430400
复制相似问题