CentOS 7을 사용하고 있습니다.
SSH 사용자에게 쉘 액세스 권한을 부여해야 하지만 감옥으로 제한해야 합니다. 나는 감옥을 설정하기 위해 Jailkit을 사용했습니다. 사용자가 감옥 환경에서 필요로 하는 모든 필수 라이브러리와 바이너리를 복사했습니다. 감옥 디렉토리 구조는 다음과 같습니다:
[root@server jail]# pwd
/var/jail
[root@server jail]# ls -l
total 8
drwxr-xr-x. 2 root root 26 May 28 16:17 bin
drwxr-xr-x. 2 root root 41 May 28 16:18 dev
drwxr-xr-x. 3 root root 4096 May 28 16:22 etc
drwxr-xr-x. 3 root root 19 May 28 16:14 home
drwxr-xr-x. 2 root root 4096 May 28 16:09 lib
lrwxrwxrwx. 1 root root 9 May 28 16:14 lib64 -> usr/lib64
drwxr-xr-x. 7 root root 65 May 28 16:18 usr
나는 "jk_jailuser"를 사용하여 사용자의 홈 디렉토리를 /var/jail/home으로 이동했습니다.
그러나 사용자가 로그인하면 감옥 환경의 다른 디렉터리로 CD를 이동할 수 있습니다. 나는 사용자가 자신의 홈 디렉토리로 제한되고 다른 디렉토리로 CD를 이동할 수 없도록 하고 싶습니다.
다음과 같이 sshd_config에서 Match group 지시문을 사용해 보았습니다.
Match group sshusers
ChrootDirectory /var/jail/
X11Forwarding no
AllowTcpForwarding no
그러나 설정 후 SSH를 통해 로그인하려고 하면 다음과 같은 오류가 발생합니다.
Could not chdir to home directory /var/jail/./home/user: No such file or directory
/usr/sbin/jk_chrootsh: No such file or directory
로그인할 수 없습니다
난 정말 여기에 갇혀있습니다. 이 문제를 해결하는 방법을 모르겠습니다. 누구든지 도와줄 수 있나요? 감옥 환경에서 SSH 사용자를 홈 디렉터리로 제한하는 방법은 무엇입니까?
답변1
사용자의 홈 디렉토리는 chroot 경로에 상대적이어야 합니다. /var/jail/home/user
사용자의 홈 디렉터리 는 로 설정되어야 합니다 /home/user
.