我已经运行 Debian Squeeze,并使用 debootstrap 设置了 chroot 环境 (/jail)。
正如在教程中看到的,我安装了以下内容:
proc on /jail/proc type proc (rw)
devpts on /jail/dev/pts type devpts (rw)
在监狱里,我在不同的端口上运行了一个额外的 sshd 作为“父”系统。
到目前为止,一切进展顺利,正如预期的那样。
但我刚刚注意到,我可以从监狱内更改主机 IP 地址。这是正常行为吗?我以为 chrooted 环境无法改变“真实”系统上的东西?但在更改 IP 地址并运行后
/etc/init.d/networking restart
系统只能通过新的 IP 地址访问。
有人能解释一下为什么会出现这种情况吗?有办法防止这种情况吗?这样监狱里的所有东西都“留在监狱里”
提前非常感谢您。
卡斯帕
答案1
chroots 仅更改 chroot 命令的子进程的文件系统的可见根。其他所有操作(发送信号、操作内核等)均不受影响。如果这是您唯一的安全措施,则再次离开 chroot 非常简单。
看一眼龙芯,Linux虚拟服务器或者开放VZ对于 Linux 中的适当容器,不仅可以防止意外的目录遍历。