サーバー上のWebルート内のディレクトリへのSFTPアクセスを許可する必要があります。ユーザーとしてben_filesを設定し、ホームディレクトリを次のように設定しました。
/var/www/vhosts/mydomain.com/files
彼が単純な古いFTPで接続している場合、それはすべて問題ありません-彼はそのディレクトリだけに制限されていますが、SFTPを有効にするにはbin/bash Shellに彼を追加しなければなりませんでした。
すべてのディレクトリを開かずに、SFTPアクセスを許可する方法はありますか?私は彼が彼の家だけに制限されることを本当に望みます;)
ありがとう!
OpenSSH≥4.8は、ChrootDirectory
ディレクティブをサポートします。
追加 /etc/sshd_config
または/etc/ssh/sshd_config
またはセットアップのグローバルsshd
設定ファイルは何でも:
ユーザーben_filesと一致します。他のchrootのセットアップは必要ありません。 ChrootDirectory /var/www/vhosts/mydomain.com/files ForceCommand internal-sftp 。 AllowTcpForwarding no GatewayPorts no X11Forwarding no
彼のシェルを/bin/rbash
に設定してみてください
制限されたシェルbashがrbashという名前で開始された場合、または呼び出し時に-rオプションが指定された場合、シェルは制限されます。制限付きシェルを使用して、標準のシェルよりも制御された環境をセットアップします。以下が許可されないか、実行されないことを除いて、bashと同じように動作します。
· changing directories with cd
さらに...
これを使用する前に、許可されていることと禁止されていることを完全に理解してください。
rssh を見てください。 o/sディストリビューション用に既にパッケージ化されている場合があります。
Pam_chrootを使用します。
ここに良いマニュアルがあります: http://www.howtoforge.com/chroot_ssh_sftp_debian_etch