web-dev-qa-db-ja.com

この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を実行すると、cd /ls -laを実行することで、CHROOTを簡単に離れることができます。すべてが表示されます。

何故ですか???わからない、設定は大丈夫なはずですか、それとも間違っていますか?

5
JohnnyFromBF

/etc/ssh/sshd_configに変更を加えた後、sshdサービスを再起動しましたか?

Sudo /etc/init.d/ssh restart

Sftpユーザーのchrootディレクトリ(この場合は/home/lenny)がsftpユーザーではなくrootによって所有されていることを確認してください。 chmod 755は正しいです。

また、セキュリティを強化するために、次の2行を追加します。

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

Sshdサービスを再起動すると、目的のchrootが作成されます。

5
George M