web-dev-qa-db-ja.com

SFTPでホームディレクトリ外のユーザーを許可しない方法

Ubuntu10.04を実行しています。ユーザーのホームディレクトリを設定していますが、SFTP経由で接続している場合は、ユーザーをホームディレクトリとその子に制限したいと思います。

言い換えれば、彼らがそれの外に移動することを許可しない。

これを達成するにはどうすればよいですか?

4

FTP

buntuドキュメント から:

FTPの保護

/etc/vsftpd.confには、vsftpdをより安全にするためのオプションがあります。たとえば、コメントを解除することで、ユーザーをホームディレクトリに制限できます。

chroot_local_user=YES

ユーザーの特定のリストをホームディレクトリだけに制限することもできます。

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

上記のオプションのコメントを外した後、ユーザーのリストを1行に1つずつ含む/etc/vsftpd.chroot_listを作成します。次に、vsftpdを再起動します。

Sudo /etc/init.d/vsftpd restart

SFTP

編集/etc/ssh/sshd_config

必要に応じてsubsystem sftp internal-sftpを設定してください。

以下を追加します。

Match user theUserName
    ChrootDirectory %h
    ForceCommand internal-sftp

sshd -tを実行して、構成を保存してテストします。これが成功した場合は、後でsshを再起動して変更を適用します。

正確な設定に応じて、ChrootDirectory%hはユーザーのホーム)として指定するフォルダーは、他のユーザーへの書き込み権限がなく、rootが所有している必要があります。したがって、これは正確には実際のホームディレクトリではありません。

9
Daniel Beck