相对于sshd jail root的文件结构

时间:2014-02-26 23:45:28

标签: linux bash chroot sshd jail

我正在为我的系统(archlinux)上的某些用户设置sshd jail。在没有详细说明的情况下,我希望将问题的范围保持在最低限度。

设置/etc/ssh/sshd_config

Match group jaileduser
          ChrootDirectory /var/jailedusers
          X11Forwarding no
          AllowTcpForwarding no

和系统/etc/password条目类似于:

testuser1:x:2001:2000::/home/testuser1:/bin/bash

所以问题是: /home/testuser1的主目录是否相对于sshd_config条目/var/jailedusers ,即passwd条目是 {{ 1}} /var/jailedusers/home/testuser1 /home/testuser1 /var/jailedusers中的目录 - 并且是同一条船上的shell - 是passwd条目< strong> /home/testuser1 或只是 /var/jailedusers/bin/bash

最后,登录后系统/bin/bash读取或/etc/passwd/var/jailedusers/etc/passwd条目读取。

1 个答案:

答案 0 :(得分:1)

基于联机帮助页:

Specifies the pathname of a directory to chroot(2) to after
authentication.  All components of the pathname must be root-
owned directories that are not writable by any other user or
group.  After the chroot, sshd(8) changes the working directory
to the user's home directory.

所以/etc/passwd需要包含相对于系统根的路径(即/bin/bash/home/testuser1),系统的根将在chroot之后实际为/var/jailedusers(意思是/var/jailedusers/home/testuser1将是实际的主页,/var/jailedusers/bin/bash是实际的shell。

要回答问题的第二部分,sshd将阅读/etc/passwd,执行身份验证,然后chroot阅读/var/jailedusers

请注意,/var/jailedusers还需要包含其他文件,例如bash所需的共享库和最小的/dev条目集(例如/dev/null)。