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.调整虚拟用户权限