CentOS 安装 vsFTP

1、安装vsftp
yum install vsftpd

2、配置vsftp
vi /etc/vsftpd/vsftpd.conf

#不允许匿名登录
anonymous_enable=NO

#允许/etc/passwd内的本地用户登录FTP
local_enable=YES

#具有写权限
write_enable=YES

#本地用户创建文件或目录的掩码
local_umask=022

#开启日志
xferlog_enable=YES
xferlog_std_format=YES

#开启20端口
connect_from_port_20=YES

#这个是pam模块的名称,我们放置在/etc/pam.d/vsftpd
pam_service_name=vsftpd

userlist_enable=YES

#支持TCP Wrappers
tcp_wrappers=YES

#通过搭配能实现以下几种效果:
#①当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
#②当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
#③当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
#④当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
chroot_local_user=YES
chroot_list_enable=NO

#不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=YES

#启动被动式(passive mode)
pasv_enable=YES
#被动模式端口
pasv_min_port=60022
pasv_max_port=60025

#FTP访问目录
local_root=/data/ftp/

3、创建ftp用户
useradd -d /data/ftp/ -s /sbin/nologin ftpuser
passwd ftpuser
chown -R ftpuser /data/ftp

4、启动ftp服务
systemctl enable vsftpd
systemctl start vsftpd
systemctl status vsftpd

5、解决“530 Login incorrect”错误
vi /etc/pam.d/vsftpd
#auth required pam_shells.so

参考:https://blog.csdn.net/mrliqifeng/article/details/120185671