Ubuntu 10.04を実行しているVPSがあり、誰かに単一のディレクトリへのSFTPアクセスを許可したいのですが、システム上の他のものが表示されないようにします。これをやってのけるための最良の方法は何ですか?
システム上のすべてのものから「全員」のアクセス許可を削除することを検討しましたが、これはこの問題(および他の問題を引き起こすツール)の非常に鈍いツールのようです-ここにもっと良いオプションがあることを願っています。
編集:答えに感謝します! (そして私はそれらを通してたくさんの読書/研究を学びました)。すべてのステップを綴っていたので、私はLinodeからこのガイドを見つけて使用することになりました: http://library.linode.com/security/sftp-jails/
最良の方法は、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
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
画面の指示に従って、ユーザーを構成します。
SSHのサブシステムであるSFTPが必要な場合は、このガイドを確認してください ここ
SSLレイヤーを使用したFTPが必要な場合は、ooshroの提案で十分です。