web-dev-qa-db-ja.com

FTPアクセスを単一のディレクトリに制限する最良の方法は?

Ubuntu 10.04を実行しているVPSがあり、誰かに単一のディレクトリへのSFTPアクセスを許可したいのですが、システム上の他のものが表示されないようにします。これをやってのけるための最良の方法は何ですか?

システム上のすべてのものから「全員」のアクセス許可を削除することを検討しましたが、これはこの問題(および他の問題を引き起こすツール)の非常に鈍いツールのようです-ここにもっと良いオプションがあることを願っています。

編集:答えに感謝します! (そして私はそれらを通してたくさんの読書/研究を学びました)。すべてのステップを綴っていたので、私はLinodeからこのガイドを見つけて使用することになりました: http://library.linode.com/security/sftp-jails/

3
John Debs

最良の方法は、ftpsとchroot(vsftpd)またはweb-davとssl(Apache2、nginx)を使用します。

証明書を生成する:

openssl req -x509 -nodes -days 365 -newkey rsa:1024  -keyout /etc/vsftpd/vsftpd.pem   -out /etc/vsftpd/vsftpd.pem

構成の編集:

 ssl_enable=YES
 rsa_cert_file=/etc/vsftpd/vsftpd.pem
 chroot_local_user=YES
2
ooshro

Ubuntuでは scponly をかなり簡単に使用できます

Sudo apt-get install scponly
Sudo dpkg-reconfigure -plow scponly

インストールして構成したら、提供されているスクリプトを使用してユーザーアカウントとjailを作成できます。

cd /usr/share/doc/scponly/setup_chroot
Sudo gunzip setup_chroot.sh.gz
Sudo chmod +x setup_chroot.sh
Sudo ./setup_chroot.sh

画面の指示に従って、ユーザーを構成します。

1
user9517

SSHのサブシステムであるSFTPが必要な場合は、このガイドを確認してください ここ

SSLレイヤーを使用したFTPが必要な場合は、ooshroの提案で十分です。

1
Hrvoje Špoljar