1、安装
yum -y install vsftpd*
2、配置文件
#配置是否匿名
anonymous_enable=NO
#Local_ennable必须是YES,这样/etc/password的账号才可以已实体账号登陆vsftp主机
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
#通过搭配能实现以下几种效果:
#①当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=no chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES #pam模块名称 pam_service_name=vsftpd userlist_enable=YES
#Tcp_wrappers tcp_wrappers=YES
#不添加下面这个会报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot() allow_writeable_chroot=YES
附一个优化配置文件
listen=YES listen_port=50021 anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=no chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list listen=YES allow_writeable_chroot=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES pasv_enable=YES pasv_min_port=6000 pasv_max_port=7000
3、创建ftp用户
#adduser -d /back/ftp -s /sbin/nologin ftplee
#more /etc/passwd
#passwd ftplee
为新建的账户设置密码
[root@Redis-Mysql /back] passwd ftplee
Changing password for user ftplee.
New password:
BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic
Retype new password:
passwd: all authentication tokens updated successfully.
--------------------这时候就可以尝试启动ftp了----------------------
3.1 # systemctl restart vsftpd //重启ftp
# systemctl enable vsftpd //开机自启
# systemctl stop firewalld //先关闭防火墙
#vim /etc/selinux/config // SELINUX=disabled 或者 setenforce 0
4、接下来是我踩了很多次坑的地方,总结一下,引以为戒
4.1 chroot_list_enable=YES必须为YES,而且需要把限制主目录的用户放在chroot_list_file=/etc/vsftpd/chroot_list指定的路径文件里
4.2 530 Login incorrect.
530 Login incorrect. Login failed. 1.兄弟如果这个帖子,解决了你的问题,请给我说一声谢谢,因为,我找了两天才解决到,真的心累了。 2.ftp登陆时报错,530 Login incorrect.Login failed. 3.请先看看百度前三种问题是否能解决,我这是第四种,因为我没有在百度上找到我着一种。 4.cat /etc/passwd,查看你登陆的账户主目录和登陆shell对应的是什么,我的是/sbin/nologin 用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell 5.查看cat /etc/shells是否有你用户的主目录和登陆shell,没有进行添加,保存,退出。
4.3 500 OOPS: chroot
Login failed. 421 Service not available, remote server has closed connection
#vim /etc/selinux/config // SELINUX=disabled,重启电脑生效
或者 setenforce 0 不需要重启电脑
4.4 vsftpd:500 OOPS
500 OOPS: vsftpd: refusing to run with writable root inside chroot ()
vim /etc/vsftpd/vsftpd.conf
设置allow_writeable_chroot=YES
重启ftp生效
5、如果还不能登陆,可以尝试修改密码,重启FTP然后重新登陆。
===========================备注================
如有其他问题欢迎评论区留言,大家一起进步。
=================
浙公网安备 33010602011771号