我在一个目录上创建了一个 chrooted 用户/home/jail
,我的 /home/jail 里面有这些bin,dev,etc,home,lib,lib64 and usr
目录。/home/jail/{bin,dev,etc,home,lib,lib64,usr} 都归我所有,root:root
我将我的用户的主目录设置为/home/jail/home/user
如下图所示,在/etc/passwd
我的目录中,sshd_config
我有以下条目:
Match Group jail
ChrootDirectory /home/jail
当然用户在监狱组下
chrooted 用户可以登录,但bin,dev,etc,home,lib,lib64,usr
用户可以看到目录,这对于 chrooted 环境来说正常吗?
如果我更改ChrootDirectory
shell/home/jail/home
在输入密码后立即关闭,没有任何错误痕迹/var/log/auth.log
顺便说一句,我使用 putty,服务器运行的是 debian wheezy。
答案1
edchroot
进程可以看到 chroot 中的所有内容。这非常正常,如果您希望能够在 chroot 中运行正常的 shell,则无法通过其他方式实现。
重点是,您不应该将 、 等的所有常规内容都放入/bin
chroot/dev
中/etc
。相反,您应该将其限制为那些您打算在 chroot 中运行的内容绝对需要的内容。特别是 suid 可执行文件必须远离 chroot,因为它们最有可能存在可被利用的弱点。