Linux

為什麼可以使用這個 sftp 配置離開 CHROOT?

  • November 22, 2013

我正在嘗試創建使用者 lenny,該使用者在文件夾中具有讀取和寫入權限,/home/lenny/並且沒有外殼,但只能通過 SFTP 訪問。我正在執行以下操作:

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我可以通過cd /and輕鬆離開 CHROOT ls -la,我看到了一切!

這是為什麼???我不明白,配置應該沒問題,還是我錯了?

更改後是否重新啟動了 sshd 服務/etc/ssh/sshd_config

sudo /etc/init.d/ssh restart

確保 sftp 使用者(在本例中/home/lenny)的 chroot 目錄由 root 擁有,而不是 sftp 使用者。chmod 755是正確的。

此外,我將添加以下兩行以增加安全性:

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

重新啟動您的 sshd 服務,您應該擁有所需的 chroot。

引用自:https://unix.stackexchange.com/questions/36877