1、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2、关闭 SELINUX
setenforce 0
vim /etc/sysconfig/selinux
SELINUX=disabled
3、安装 vsftpd
yum -y install vsftpd
4、修改 vsftpd 配置文件
cd /etc/vsftpd
vim vsftpd.conf
#是否允许匿名,默认 no
anonymous_enable=NO
#这个设定值必须要为 YES 时,在 /etc/passwd 内的账号才能以实体用户的方式登入我们的 vsftpd 主机
local_enable=YES
#具有写权限
write_enable=YES
#本地用户创建文件或目录的掩码
local_umask=022
#当 dirmessage_enable=YES 时,可以设定这个项目来让 vsftpd 寻找该档案来显示讯息!您也可以设定其它档名!dirmessage_enable=YES
#当设定为 YES 时,使用者上传与下载日志都会被纪录起来。记录日志与下一个 xferlog_file 设定选项有关
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
#启动被动式联机 (passivemode)
pasv_enable=YES
#上面两个是与 passive mode 使用的 port number 有关,如果您想要使用 65400 到 65410 这 11 个 port 来进行被动式资料的连接,可以这样设定
pasv_min_port=65400
pasv_max_port=65500
#FTP 访问目录
local_root=/data/ftp/
5、创建 ftp 访问用户
useradd -d /data/ftp/ -s /sbin/nologin ftpuser
passwd ftpuser
chown -R ftpuser /data/ftp
6、启动 ftp 服务
systemctl enable vsftpd.service
systemctl start vsftpd.service
systemctl status vsftpd.service
7、530 Login incorrect 错误调试
把 vim /etc/pam.d/vsftpd 里面的以下内容注释掉,然后重启 vsftpd 服务即可
#auth required pam_shells.so
微信扫描下方的二维码阅读本文
正文完