1、安装并启动服务
yum -y install vsftpd
systemctl enable --now vsftpd
2、配置防火墙开放端口
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
3、创建一个访问ftp的用户并配置
useradd -s /sbin/nologin ftpuser
passwd ftpuser # 设置密码
echo "ftpuser" > /etc/vsftpd/user_list # 创建一个白名单配置
mkdir /etc/vsftpd/userconfig # 创建用户配置文件目录
echo "local_root=/home/ftpuser" > /etc/vsftpd/userconfig/ftpuser # 配置用户的根目录
touch /var/log/vsftpd.log
4、配置vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
# 是否允许匿名用户ftp登录,YES代表允许,NO不允许
anonymous_enable=NO
# 是否允许本地登录
local_enable=YES
# 是否有写的权利
write_enable=YES
# 当本地用户登入时,将被更换到定义的目录下。默认值为各用户的家目录
local_root=/home/username
# 使用户不能离开主目录
chroot_list_enable=YES
# 日志文件位置
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd.log
#dual_log_enable=YES
#vsftpd_log_file=/var/log/vsftpd.log
# 监听端口
listen_port=21
# 当启用“listen”指令时,vsftpd以独立模式运行,并侦听IPv4套接字。此指令不能与listen_ipv6指令一起使用。
listen=YES
listen_ipv6=NO
# userlist_deny=NO的时候,在/etc/vsftpd/user_list里面所有的用户都可以使用ftp服务,这个时候文件就从黑名单变成白名单;
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
# 用于指定用户列表文件中的用户是否允许切换到上级目录
chroot_local_user=YES
# DNS解析关闭,提高链接速度;
reverse_lookup_enable=NO