1. 装包与卸载
yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd
2. 设置用户清单策略
/etc/vsftpd/ftpusers #黑名单:拒绝用户清单
/etc/vsftpd/user_list #白名单:允许用户清单
[root@localhost ~]# echo userlist_deny=NO >> /etc/vsftpd/vsftpd.conf [root@localhost ~]# grep userlist /etc/vsftpd/vsftpd.conf userlist_enable=YES userlist_deny=NO [root@localhost vsftpd]# grep deny user_list # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file [root@localhost ~]# echo myftp >> /etc/vsftpd/user_list
3. 设置ftp访问目录
[root@localhost vsftpd]# echo local_root=/home/ftpdir/pub >> /etc/vsftpd/vsftpd.conf [root@localhost vsftpd]# grep 'local_root' /etc/vsftpd/vsftpd.conf local_root=/home/ftpdir/pub
4. 创建ftp用户
禁用匿名用户
sed -i 's/^anon/#anon/g' /etc/vsftpd/vsftpd.conf
创建ftp访问用户
注:切换目录后,只有设置了用户的家目录,用户才有登陆权限;此时登陆目录需要设为该用户家目录,除非开放目录切换(见下一步)
useradd myftp -d /home/ftpdir
mkdir /home/ftpdir/pub
chown -R myftp:myftp /home/ftpdir/pub
5. 开放目录切换(一般没必要,不建议做)
对以下三行内容解注释,
然后手动将用户加入chroot黑名单:/etc/vsftpd/chroot_list
[root@localhost vsftpd]# grep -n ^chroot_ /etc/vsftpd/vsftpd.conf 101:#chroot_local_user=YES 102:#chroot_list_enable=YES 104:#chroot_list_file=/etc/vsftpd/chroot_list [root@localhost vsftpd]# sed -i 's/#chroot_/chroot_/' /etc/vsftpd/vsftpd.conf
6. nologin用户配置
如果创建的是nologin的用户,需要修改pam文件(后期非常麻烦,对sftp,xftp等服务会产生影响,不建议操作)
示例如下:
[root@localhost vsftpd]# sed -i 's/pam_shells/pam_nologin/' /etc/pam.d/vsftpd [root@localhost vsftpd]# cat /etc/pam.d/vsftpd #%PAM-1.0 session optional pam_keyinit.so force revoke auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed auth required pam_nologin.so auth include password-auth account include password-auth session required pam_loginuid.so session include password-auth [root@localhost vsftpd]#
标签:ftp,chroot,vsftpd,centos7,etc,root,pam,localhost,搭建 From: https://www.cnblogs.com/santia-god/p/16835696.html