linux 下 安装 vsftpd

1.关闭Selinux

sestatus    //查看是否关闭
setenforce 1 //开启selinux
setenforce 0 //关闭selinux

2.vsftpd常用配置

#允许匿名服务器
anonymous_enable=YES

#本地用户允许登录
local_enable=YES 
#本地用户允许上传
write_enable=YES
#本地用户的默认权限
local_umask=022

#用户进入目录时,显示message文件中的信息
dirmessage_enable=YES
#指定信息文件
message_file=./message
#激活日志
xferlog_enable=YES

#主动模式数据
connect_from_port_20=YES
#使用标准的ftp日志格式
xferlog_std_format=YES
#ftp的欢迎信息
ftpd_banner=Welcome to blah FTP service

#允许被监听 默认21端口
listen=Yes
#设置PAM外挂模块提供的认证服务所使用的配置文件名,即 /etc/pam.d/vsftpd
pam_service_name=vsftpd
#用户登录限制
userlist_enable=YES
#是否使用tcp_wrappers作为主机访问控制方式
tcp_wrappers=YES

#启动ftp
service vsftpd start
#查看端口
netstat -tlun

3.配置ftp匿名登录配置(默认登录的位置 /var/ftp)

#是否允许匿名登录
anonymous_enable=YES 
#是否允许上传文件
anon_upload_enable=YES
#是否允许创建目录
anon_mkdir_write_enable=YES

4.本地用户登录

#允许本地用户登录
local_enable=YES
#允许本地用户上传
write_enable=YES
#本地用户上传umask
local_umask=022
#设置本地用户的ftp根目录(权限注意)不会根据用户的不同而不同
local_root=/var/ftp
#开启用户目录限制(只有此行,把所有用户都限制在用户的主目录中)
chroot_local_user=YES

##############################################
#加了这三句,写入chroot_list文件中的用户可以访问任何目录,其他用户限制在用户主目录中
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
##############################################
#开启用户配置
userlist_enable=YES
userlist_deny=YES  //当为Yes时user_list为黑名单,当为NO时 则为白名单
userlist_file=/etc/vsftpd/user_list
#################################

  

5.虚拟用户配置

a.添加虚拟用户口令文件
  #添加虚拟用户口令文件
  vi /etc/vsftpd/vuser.txt
  写入 用户名和密码 (一行用户名 一行密码)
b.生成虚拟用户口令认证文件
  db_load -T -t hash -f ./vuser.txt ./vuser.db
    没有db_load 安装 yum -y install db4_utils
c.编辑vsftpd的PAM认证文件
   打开:vi /etc/pam.d/vsftpd
    注释里面所有行,然后添加下面两行
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/vuser
           
d.建立本地映射用户并设置宿主目录权限
  #创建用户
  useradd -d /home/vftproot -s /sbin/nologin vuser
  chmod 755 /home/vftproot
e.修改配置文件
  vi /etc/vsftpd/vsftpd.conf
  #开启虚拟用户
  guest_enable=YES
  #FTP虚拟用户对应的系统用户
  guest_username=vuser
  #Pam认证文件(默认存在)
  pam_service_name=vsftpd
  allow_writeable_chroot=YES

##########上面的配置可以读取还不能上传#######################################
  #允许能够上传

  anonymous_enable=NO //建议关闭匿名用户登录
   anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
  #################################################

##################为每个用户配置虚拟用户权限##################################
#指定保存虚拟用户配置文件的目录
user_config_dir=/etc/vsftpd/vusers_dir
###################################################
f.重启vsftpd服务,并测试 
systemctl start vsftpd
g.调整虚拟用户权限

  

  

原文地址:https://www.cnblogs.com/xuehaiyiye/p/9085652.html