我正在运行 Ubuntu 10.04。我已设置用户的主目录,但我想在用户通过 SFTP 连接时将其限制在其主目录及其子目录中。
换句话说:不允许他们移出外面。
为了实现这个目标我要做什么?
答案1
FTP
来自Ubuntu 文档:
保护 FTP
有选项
/etc/vsftpd.conf
可以帮助vsftpd更安全。例如,可以通过取消注释将用户限制在其主目录中:chroot_local_user=YES
您还可以将特定用户列表限制为其主目录:
chroot_list_enable=YES chroot_list_file=/etc/vsftpd.chroot_list
取消注释上述选项后,创建一个
/etc/vsftpd.chroot_list
包含每行一个用户的列表。然后重新启动 vsftpd:sudo /etc/init.d/vsftpd restart
安全FTP
编辑/etc/ssh/sshd_config
:
如果需要的话就设置一下subsystem sftp internal-sftp
。
添加以下内容:
Match user theUserName
ChrootDirectory %h
ForceCommand internal-sftp
保存并通过运行测试配置sshd -t
。如果成功,ssh
则重新启动以应用更改。
根据您的具体设置,您指定的文件夹ChrootDirectory
(%h
是用户的主文件夹)必须由其他人拥有,root
并且其他人没有写入权限。因此,它不完全是真实的主目录。