一、实验环境
操作系统:CentOS 7
二、安装
关闭SELINUX:
<代码> vim/etc/selinux/config SELINUX=禁用代码> >之前临时关闭:
<代码> setenforce 0 代码>三、安装vsftpd服务:
1。使用安装百胜安装vsftp:
<代码> yum - y安装vsftp 代码>2。备份vsftp主配置文件:
<代码> cp/etc/vsftpd/vsftpd.conf {, . bak} 代码>四,配置虚拟用户访问vsftp服务:
1。创建虚拟用户密码文件:
<代码> user1 密码 user2 2 代码>2。生成虚拟用户数据库:
<代码> yum - y libdb-utils安装 db_load哈希- f - t - t/etc/vsftpd/vir_user/etc/vsftpd/vir_user.db chmod 700/etc/vsftpd/vir_user.db 代码>3。配置验证文件:
修改前先配置文件
<代码> cp/etc/pam.d/vsftpd {, . bak} 代码>将身份验证及账户的所有配置行均注释掉,添加如下两行
<代码> vim/etc/pam.d/vsftpd 身份验证需要pam_userdb。所以db=/etc/vsftpd/vir_user 账户需要pam_userdb。所以db=/etc/vsftpd vir_user 代码>4。增加一个系统用户:
<代码> mkdir/ftproot useradd - d/ftproot - s/sbin/nologin virftp 乔恩- 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=没有 #允许虚拟用户上传文件 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/乔恩- r virftp。virftp/ftproot/admin/代码>里面内容全部注销掉
<代码> vim/etc/vsftpd/ftpusers 代码>五、测试配置结果:
1。重启vsftpd服务
<代码> systemctl vsftpd重启 systemctl启用vsftpd 代码>2。关闭防火墙:
<代码> setenforce 0 systemctl停止firewalld 代码>3。利用FileZilla工具连接测试
六,各配置文件说明:
<代码>/etc/vsftpd/vsftpd。配置:vsftpd的主配置文件/etc/vsftpd/vir_user:虚拟用户的账号密码文件/etc/vsftpd/vsftpd_viruser/user1:虚拟用户的user1的配置文件/etc/pam.d/vsftpd:启用虚拟用户验证功能的配置文件代码>Centos 7安装配置vsftp服务(虚拟用户登录)