SFTPをセットアップし、chrootをセットアップしました
Subsystem sftp internal-sftp
Match Group ftpusers
ChrootDirectory /home/sftp_chroot/%u
ForceCommand internal-sftp
しかし、ログイン時にユーザーのホームで cd to ftp dir にアクセスするにはどうすればよいですか?
Ubuntu 16.10 LTS で OpenSSH_7.2p2 Ubuntu-4ubuntu2.4、OpenSSL 1.0.2g 2016 年 3 月 1 日:
sshd_conf 内の ChrootDirectory は、親であるか、ユーザーのホーム ディレクトリと同じである必要があります。
ログイン後に初期ディレクトリを設定する正しい方法は、/etc/ssh/sshd_conf の internal-sftp に -d パラメータを書き込むことです。
ForceCommand internal-sftp -d /ftp
ユーザーのホームディレクトリを /ftp に設定すると問題が解決します
ユーザーがログインすると、 chroot/home/sftp/chroot/<user>
が root になり/
ます。次に、ユーザーはホーム dir/ftp
に配置されます。/home/sftp/chroot/<user>/ftp
/home/sftp_chroot/<user>
ユーザーを「投獄」するとセキュリティの問題が修正されるため、これは悪い習慣です。本当にこれが必要な場合は、chroot ディレクトリ変数を任意%u
のユーザー名に変更できます。