
フォルダー内での読み取りおよび書き込み権限を持ち/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/lenny
sftp ユーザーではなく root によって所有されていることを確認します。chmod 755
が正しいです。
また、セキュリティを強化するために、次の 2 行を追加します。
Match User lenny
ChrootDirectory /home/lenny
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
sshd サービスを再起動すると、必要な chroot が取得されます。