内置 chroot jail RHEL 5 返回 No such file or directory

内置 chroot jail RHEL 5 返回 No such file or directory

我需要在我的 RHEL5 生产服务器上创建一个 chroot jail,以允许特定用户使用尽可能少的权限,但使用 GIT。

这是我的系统配置:

  • RHEL 5:版本 5.10
  • OpenSSH:OpenSSH_6.4p1,OpenSSL 0.9.8e-fips-rhel5 2008 年 7 月 1 日

为了测试,我创建了一个文件夹/chroot带有子文件夹托托我想要 chroot 我的用户。

# ls -la /chroot
total 24
drwxr-xr-x  3 root root 4096 Nov 11 15:22 .
drwxr-xr-x 31 root root 4096 Nov 12 13:02 ..
drwxr-xr-x  5 root root 4096 Nov 11 15:22 toto

# ls -la /chroot/toto
total 40
drwxr-xr-x 5 root root 4096 Nov 11 15:22 .
drwxr-xr-x 3 root root 4096 Nov 11 15:22 ..
drwxr-xr-x 2 root root 4096 Nov 11 15:22 bin
drwxr-xr-x 2 root root 4096 Nov 11 15:22 lib
drwxr-xr-x 5 root root 4096 Nov 11 15:22 usr

我创建了一个名为chroot_www并添加了我的用户托托對它來說。

我已经编辑/etc/ssh/sshd_config并在最后添加了必要的行。

#Subsystem      sftp    /usr/libexec/openssh/sftp-server

Subsystem sftp internal-sftp
Match Group chroot_www
#       ForceCommand internal-sftp
        ChrootDirectory /chroot/toto
        AllowTcpForwarding no

但是当我想使用 ssh 连接时出现此错误:

ssh toto@********
toto@********'s password: 
Last login: Thu Nov 14 13:22:35 2013 from ********
Could not chdir to home directory /chroot/toto: No such file or directory
Connection to ******** closed.

但目录存在,并且权利良好。

这很奇怪,原因有二:

  • 我在 RHEL6 服务器上有相同的配置并且它可以运行。
  • 我可以使用 SFTP 连接,并且 chroot 被限制在正确的文件夹中,但是不能使用 SSH。

因此,如果您有使用 chroot jail 的经验或者遇到过类似这样的问题,我真的很感兴趣...

相关内容