
사용자가 로그인하면 chroot(실제 시스템에서는 /var/jail)의 /에서 시작합니다. 나는 그가 그의 집에서 시작하기를 바랍니다. 또한 그는 자신의 프로필 파일(.bash.rc 등)을 로드하지 않는 것 같습니다. 나는 팔로우했다이것chroot 환경을 만드는 튜토리얼입니다. 내 /etc/passwd는 다음과 같습니다.
test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash
이것은 내 /var/jail/etc/passwd 파일의 모습입니다:
test:x:1004:1008:,,,:/home/test:/bin/bash
또한 제거하면
Match User test
ChrootDirectory /var/jail
AllowTCPForwarding no
X11Forwarding no
내 /etc/ssh/sshd_config에서 사용자는 올바른 홈 폴더에서 시작하고 bash 설정이 로드됩니다. 그러나 해당 부분을 제거하면 chroot 환경을 떠날 수 있습니다.이것이전에 질문한 질문은 로드되지 않은 프로필 파일로 인해 명령줄의 잘못된 모양이 발생했다고 생각하기 때문에 다소 관련이 있습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
답변1
작은 세부 사항을 제외하고는 구성이 정확합니다. 홈 디렉터리에는 /etc/passwd
chroot 경로 부분이 포함되어서는 안 됩니다. 다음으로 변경하세요.
test:x:1004:1008:,,,:/home/test:/bin/bash
다시 시작 sshd
하고 다시 시도하세요.
에서 man sshd_config
:
Chroot디렉토리
인증 후 chroot(2)에 대한 디렉토리의 경로 이름을 지정합니다. 경로 이름의 모든 구성 요소는 다른 사용자나 그룹이 쓸 수 없는 루트 소유 디렉터리여야 합니다. chroot 후에 sshd(8)는 작업 디렉토리를 사용자의 홈 디렉토리로 변경합니다.
즉, 먼저 sshd
실행한 다음 chroot
(우리의 경우 ) 디렉토리를 사용자의 homedir로 변경합니다(우리의 경우 루트 환경에서는 작동하지 않습니다).chroot /var/jail
sshd
cd /home/test
cd /var/jail/home/test
Debian/Ubuntu를 사용하는 경우(당신이 언급한 튜토리얼은 Debian용이므로) /var/jail/etc/debian_chroot
"chroot"라는 내용으로 이름이 지정된 파일을 생성할 수 있습니다. 이 파일은 사용자 프롬프트에서 다음과 같이 괄호 안에 표시됩니다 (chroot)test@servername:~$
.
( Ubuntu 12.04에서 구성을 복제했으며 /var/jail
./etc/passwd