安装vsftpd服务
yum
install
-y vsftpd
修改配置文件
vim /etc/vsftpd/vsftpd.conf 改动如下
# 禁止匿名用户anonymous登录
anonymous_enable=NO
# 允许本地用户登录
local_enable=YES
# 让登录的用户有写权限(上传,删除)
write_enable=YES
# 默认umask
local_umask=022
# 允许ASCII模式上传
ascii_upload_enable=YES
# 允许ASCII模式下载
ascii_download_enable=YES
chroot_local_user=YES # 将用户限制在自己的目录下
chroot_list_enable=NO # 禁止用户向上级文件夹进行翻阅
chroot_list_file=/etc/vsftpd/chroot_list # 允许ftp登录用户帐号列表
注释掉 listen_ipv6=YES
添加如下语句,开启被动模式
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=30500
allow_writeable_chroot=YES
pasv_min_port=30000
pasv_max_port=30500
allow_writeable_chroot=YES
保存并退出
创建FTP用户
创建ftp上传目录
cd /home
mkdir www
cd www
mkdir ftpuser
增加用户ftpuser,指向目录/home/wwwroot/ftpuser,禁止登录SSH权限
useradd -d /home/www/ftpuser -g ftp -s /sbin/nologin ftpuser
设置用户口令
passwd ftpuser
vi /etc/vsftpd/chroot_list 将新建用户添加进文本 每个用户名独占一行
为FTP账户开通文件夹权限
cd /home/www
chown -R ftpuser /home/www/ftpuser
chmod -R 777 /home/www/ftpuser
防火墙开通端口
firewall-cmd --zone=public --add-port=20-21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-30500/tcp --permanent
firewall-cmd --reload
启动FTP服务
systemctl start vsftpd.service
解决目录列表无法浏览的问题
getsebool -a | grep ftp
执行下面命令
setsebool -P allow_ftpd_full_access
1
setsebool -P ftp_home_dir on
setsebool -P ftp_home_dir on
重启FTP
service vsftpd restart