Centos 7安装配置vsftp服务(虚拟用户登录)

  

一、实验环境
操作系统: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服务(虚拟用户登录)