이 sftp 구성으로 CHROOT을 떠날 수 있는 이유는 무엇입니까?

이 sftp 구성으로 CHROOT을 떠날 수 있는 이유는 무엇입니까?

/home/lenny/폴더에 대한 읽기 및 쓰기 권한이 있고 셸이 없으며 SFTP를 통해서만 액세스할 수 있는 사용자 lenny를 만들려고 합니다 . 나는 다음을 수행하고 있습니다 :

useradd lenny
mkdir /home/lenny
usermod -d /home/lenny lenny
passwd lenny
chown lenny:lenny /home/lenny
chmod 755 /home/lenny
usermod -s /bin/false myuser

그런 다음 수정했습니다 /etc/ssh/sshd_config.

Subsystem sftp internal-sftp`  

Match User lenny
ChrootDirectory /home/lenny
ForceCommand internal-sftp

이제 이 작업을 수행하면 sftp lenny@server실행을 통해 CHROOT를 쉽게 종료할 수 있고 모든 것이 표시됩니다!cd /ls -la

왜 그런 겁니까? ? ? 이해가 안 돼요. 구성이 괜찮을 텐데, 아니면 제가 틀렸나요?

답변1

변경 후 sshd 서비스를 다시 시작하시겠습니까 /etc/ssh/sshd_config?

sudo /etc/init.d/ssh restart

sftp 사용자(이 경우 /home/lenny)의 chroot 디렉토리가 sftp 사용자가 아닌 루트 소유인지 확인하십시오. chmod 755맞다.

또한 보안을 강화하기 위해 다음 두 줄을 추가합니다.

Match User lenny
    ChrootDirectory /home/lenny
    ForceCommand internal-sftp
    X11Forwarding no
    AllowTcpForwarding no

sshd 서비스를 다시 시작하면 필요한 chroot가 있어야 합니다.

관련 정보