为什么使用 vsftpd 和 winscp 时我仍然可以离开我的主目录?

为什么使用 vsftpd 和 winscp 时我仍然可以离开我的主目录?

系统:Linux Ubuntu 10.04

我已经设置了一个 vsftpd 服务器,如果你通过浏览器登录,一切似乎都运行良好,但如果我使用 winscp 登录,那么我就可以导航出我自己的主目录,而该目录实际上受到配置文件的限制(如下)

有人知道为什么会发生这种情况吗?我需要确保没有人可以在我的服务器上翻找文件。

这是我的 VSFTPD 配置文件:

listen=YES 
anonymous_enable=NO 
local_enable=YES 
write_enable=YES
dirmessage_enable=YES 
use_localtime=YES 
xferlog_enable=YES 
connect_from_port_20=YES 
chroot_list_file=/etc/vsftpd.chroot_list 
secure_chroot_dir=/var/run/vsftpd/empty 
pam_service_name=vsftpd 
chroot_local_user=NO 
chroot_list_enable=YES

答案1

vsftpdFTP服务器,但你正在使用WinSCP,这是一个SCP客户端(通过SSH)。这是两个完全不同的服务,因此您可以vsftpd根据需要进行配置,它不会对您的 WinSCP 造成任何影响;-) 要实际通过 FTP 访问您的服务器,您需要一个 FTP 客户端。

答案2

设置chroot_local_userYES。之后chroot_list_file将会有一个用户列表不是锁定到他们的主目录,因此除非您也有这样的用户,否则请禁用它。

答案3

谢谢你的建议。解决这个问题的办法首先是要明白 ftp 不是 sftp,正如 DarkDust 所说。我发现,通过使用使用 FTP 而不是 SFTP 的 Filezilla,一切都会按预期运行。但我没有意识到,如果您使用与 sftp 服务器相同的登录名,您可以导航到您想要的任何位置。我的解决方案是在 /etc/ssh/ 配置文件中添加“denyuser 用户名”,以限制 sftp 对服务器的访问。唯一的进入方式是只有 FTP,它可以像 VSFTPD 服务器配置那样工作!

再次感谢,

相关内容