我已经和 vsftpd 斗争了好几天。我一开始尝试在当前的 Centos 5.6 服务器上设置安全的 vsftpd,但无法将用户锁定到他们的主目录中。我花了好几天尝试了所有我能找到的建议,比如 chroot_local_user 等……但都没有成功。然后我读到一篇文章,说一些指令在 Centos 5 上没有实现。然后我下载了 Centos 7,用 vsftpd 设置了一个新的 ftp 服务器,并再次尝试了所有建议。仍然没有成功。
让我震惊的是,即使我设置了 userlist_enable=YES,并且有 root 用户的标准 ftpusers 和 user_list 文件,我仍然可以用 root 用户连接到 ftp 服务器。我在 vsftpd.conf 中所做的任何更改似乎都不会影响 vsftpd。
有人知道我遗漏了什么吗? 我将不胜感激任何帮助。
我当前的配置文件:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
allow_writeable_chroot=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
ssl_enable=YES
allow_anon_ssl=NO
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
答案1
也许只是你的粘贴出了问题,但如果你无法改变任何事物在两个不同的发行版中,我开始认为您正在 Windows 记事本中编辑配置文件并弄乱了换行符。
如果是这种情况,请停止这样做,并使用一些允许您设置 Unix 换行符的合适的文本编辑器来编辑文件,或者更优选使用 nano/vim/emacs/其他文本编辑器在服务器上编辑配置文件。
答案2
请不要骂我,但我的问题是我正在使用 sftp 连接到服务器,并且内置的 ssh ftp 模块正在接受我的连接,而不是正在监听端口 21 的 vsftpd 而我正在连接端口 22 !!!!!