1关闭SELINUX

永久关闭(必须要重启):

#vim /etc/selinux/config

吧SELINUX=enforcing改成SELINUX=disable

临时关闭:

#setenforce 0

2 安装vsftpd

#yum -y install vsftpd

备份主配置文件

#cp /etc/vsftpd/vsftpd.conf{,.bak}

3 配置虚拟用户访问的vsftpd服务

#vim /etc/vsftpd/vir_user
user1
password1
user2
password2

(奇数为用户名,偶数为密码)
生成虚拟用户数据库并给予权限

#yum -y install libdb-utils
#db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
#chmod 700 /etc/vsftpd/vir_user.db

备份文件

#cp /etc/pam.d/vsftpd{,.bak}

修改vsftpd pam文件

vim /etc/pam.d/vsftpd

吧原先所有配置的全注释掉添加下面两行

auth                 required     pam_userdb.so   db=/etc/vsftpd/vir_user 
account              required     pam_userdb.so   db=/etc/vsftpd/vir_user

增加一个系统用户‘virftp’ ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作

#mkdir /ftproot
#useradd -d /ftproot -s /sbin/nologin virftp
#chown -R virftp:virftp /ftproot

配置vsftpd主配置文件

#vim /etc/vsftpd/vsftpd.conf
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户 (这以后的加在文章末尾)
guest_enable=YES
#把虚拟账户映射到系统账户virftp               
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES

创建虚拟用户配置文件的存放目录

#vim /etc/vsftpd/vsftpd_viruser/user1
# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/admin/

创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限

#mkdir -p /ftproot/admin/
#chown -R virftp.virftp /ftproot/admin/

4 测试配置结果

重启vsftpd服务

#systemctl restart vsftpd
#systemctl enable vsftpd

关闭防火墙或开启21端口

#systemctl stop firewalld

#firewall-cmd --add-port=21/tcp

5利用FlashFXP,连接vsftpd

vsftp_第1张图片