この 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 ユーザー (この場合は ) の chroot ディレクトリが/home/lennysftp ユーザーではなく root によって所有されていることを確認します。chmod 755が正しいです。

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

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

sshd サービスを再起動すると、必要な chroot が取得されます。

関連情報