一、通过yum安装vsftpd
安装之前请先关闭系统SELinux服务,没有关闭会有无法上传,登录成功无法获取目录情况。
yum install -y vsftpd
**二、修改vsftpd的配置文件**
vim /etc/vsftpd/vsftpd.conf
修改配置文件如下:
1.不允许匿名访问
anonymous_enable=NO
2.允许使用本地帐户进行FTP用户登录验证
local_enable=YES
3.使用户不能离开主目录
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
通过搭配能实现以下几种效果:
①当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时,所有的用户均可以切换到其他目录。
4.创建chroot_list文件,根据需求添加用户
vim /etc/vsftpd/chroot_list
ins 输入
esc + :wq 保存退出
5.设定支持ASCII模式的上传和下载功能。
ascii_upload_enable=YES
ascii_download_enable=YES
6.配置文件vsftpd.conf最后添加
allow_writeable_chroot=YES
不添加会报错
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
**三、新建FTP用户**
useradd -d /var/www/html -g ftp -s /sbin/nologin ftpuser
-d:指定用户登录时的起始目录
-g:用户组
-s /sbin/nologin指定用户只能用于ftp登录,拒绝用户登录系统
修改该FTP用户密码
passwd ftpuser
*四、设置开机启动
systemctl enable vsftpd.service
systemctl start vsftpd.service
更新:
1.如果发现FileZilla客户端连接后搁置一段时间在点击目录等反应很慢话,请在vsftpd.conf配置文件中添加一行
reverse_lookup_enable=NO
然后systemctl restart vsftpd.service 就ok了
2.如果发现安装后,centos上报:
530 Login incorrect. Login failed
修改:
vim /etc/pam.d/vsftpd
注释掉以下这一行:
#auth required pam_shells.so