1、实验环境
操做系统: CentOS 7linux
2、安装数据库
关闭SELINUX:vim
vim /etc/selinux/config SELINUX=disable
临时关闭:ide
setenforce 0
3、安装vsftpd服务:工具
1.使用安装yum安装vsftp:测试
yum -y install vsftp
2.备份vsftp主配置文件:ui
cp /etc/vsftpd/vsftpd.conf{,.bak}
4、配置虚拟用户访问vsftp服务:操作系统
1.建立虚拟用户密码文件:rest
user1 password1 user2 password2
2.生成虚拟用户数据库:code
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
3.配置验证文件:
修改前先配置文件
cp /etc/pam.d/vsftpd{,.bak}
将auth及account的全部配置行均注释掉,添加以下两行
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
4.增长一个系统用户:
mkdir /ftproot useradd -d /ftproot -s /sbin/nologin virftp chown -R virftp:virftp /ftproot
5.配置vsftp主配置文件:
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
建立‘虚拟用户配置文件’的存放目录
mkdir /etc/vsftpd/vsftpd_viruser/
建立和配置虚拟用户各自的配置文件,文件名称是‘虚拟用户名
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/
里面内容所有注销掉
vim /etc/vsftpd/ftpusers
5、测试配置结果:
1.重启vsftpd服务
systemctl restart vsftpd systemctl enable vsftpd
2.关闭防火墙:
setenforce 0 systemctl stop firewalld
3.利用FileZilla工具链接测试
6、各配置文件说明:
/etc/vsftpd/vsftpd.conf :vsftpd的主配置文件 /etc/vsftpd/vir_user :虚拟用户的帐号密码文件 /etc/vsftpd/vsftpd_viruser/user1 :虚拟用户‘user1’的配置文件 /etc/pam.d/vsftpd :启用虚拟用户验证功能的配置文件