이 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가 있어야 합니다.

관련 정보