安装设置开机启动
yum -y install vsftpd
systemctl start vsftpdsystemctl enable vsftpd
修改配置,追加端口号到最后一行
vim /etc/vsftpd/vsftpd.conf
listen_port=5510
编辑 /etc/services 文件,将其中的三行端口改成5510
vim /etc/services
ftp 5510/tcp
ftp 5510/udpftp 5510/sctp # FTP
重启服务并检查ftp的监听端口号
systemctl restart vsftpd
[root@layout1 ~]# ss -tunlap |grep ftp
tcp LISTEN 0 32 [::]:5510 [::]:* users(("vsftpd",pid=122146,fd=4)
禁用匿名用户登录anonymous_enable改成NO
[root@layout1 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=no
[root@layout1 ~]# systemctl restart vsftpd
此时用root是无法登录的,在 /etc/vsftpd下面有个ftpusers,user_list设置了哪些用户不可以登录
[root@layout1 vsftpd]# pwd
/etc/vsftpd
[root@layout1 vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody[root@layout1 vsftpd]# cat user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
news
uucp
operator
games
nobody
登录到时候提示已登录,但是服务目录列表失败,20秒后无活动,连接超时
vsftpd运行在PASV模式下,命令端口为5510,数据端口随机,此时如果在firewalld防火墙开启的情况下,只放行了5510端口,会导致FTP客户端连接到FTP服务器后,出现无法读取目录问题
在vsftpd.conf配置文件中添加以下配置
pasv_enable=yes
pasv_promiscuous=yes
pasv_max_port=10021
pasv_min_port=10026在filewalld中放行10021-10226端口
firewall-cmd --permanent --zone=public --add-port=10021-10026/tcp
firewall-cmd --reload
此时在连接就正常了