相信很多人在安装vsftpd服务时跟我一样碰到以下几种问题:
1)账号能正常登录,但是读取目录列表失败(LIST)
2)几种配置不明确导致不能确定如何配置才能让访问的账号限定只能访问自身目录
3)vsftpd工作模式模糊不清(主动模式,被动模式)
下面我将以在centos7.7、vsftpd3.0.2环境实践经验为例讲述使用过程中的疑惑:
问题1:账号能正常登录,但是读取目录列表失败(LIST)
这个问题由于当时购买的云服务器,得到的相关信息是vsftpd相关对外端口(20,21)已配置,所以刚开始没有去考虑是端口问题导致,由于进行了一系列修改配置(selinux,iptable,firewalld),后面经过多次验证才有了证据给出明确结论是20端口没有配置导致。
问题2:几种配置不明确导致不能确定如何配置才能让访问的账号限定只能访问自身目录
首先我们先要弄清chroot的意思,change root(改变程序执行时所参考的根目录位置)
chroot_local_user YES表示限制,NO表示不限制
chroot_list_enable
chroot_list_file=/etc/vsftpd.chroot_list
限制只能访问自身目录,指定特定用户(在文件vsftpd.chroot_list中添加的用户)不限制
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
不限