一、实验环境
操作系统:centOS7
vsftpd版本:vsftpd-3.0.2-22.el7
二.安装准备
关闭SELinux
(SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。)

①永久关闭

vim /etc/selinux/config

SELINUX=disable

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_运维

②临时关闭
setenforce 0

三.安装vsftpd服务

使用yum安装vsftpd

yum -y install vsftpd

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_操作系统_02


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

1.创建虚拟用户密码文件

vim /etc/vsftpd/vir_user

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_开发工具_03


2.生成虚拟用户数据库

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

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_操作系统_04


3.配置vsftpd pam验证文件

vim /etc/pam.d/vsftpd(将auth及account的所有配置行均注释掉,添加如下两行)

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

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

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_配置文件_05


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

mkdir /ftproot

useradd -d /ftproot -s /sbin/nologin virftp

chown -R virftp:virftp /ftproot

5.设置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

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_开发工具_06


6.配置虚拟用户各自的配置文件(创建虚拟用户配置文件的存放目录)

mkdir /etc/vsftpd/vsftpd_viruser/

创建和配置虚拟用户各自的配置文件:文件名称是"虚拟用户名"

vim /etc/vsftpd/vsftpd_viruser/lxy1

允许写入

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/

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_开发工具_07

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

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

测试配置结果

1.重启vsftpd服务

systemctl restart vsftpd

systemctl enable vsftpd

2.关闭防火墙

systemctl stop firewalld

3.利用FZ工具连接测试

centos 开机时可以跳过扫描iscsi吗 centos7安装跳过创建用户_运维_08