CentOS7中配置vsftpd

1、yum -y install vsftpd  安装vsftpd

2、配置vsftpd的配置文件(/etc/vsftpd/vsftpd.conf)主要修改以下配置内容

#不允许匿名访问
anonymous_enable=NO
#本地用户登录ftp后的根目录
local_root=/var/ftp
#本地ftp用户权限
file_open_mode=0755
#解决新版本vsftpd本地用户主目录如果有写权限时,无法登录的问题
allow_writeable_chroot=YES
#登录用户是否有写入的权限
write_enable=YES
#锁定登录用户不能访问主目录的上级目录
chroot_local_user=YES
#ftp数据传输使用的接口
ftp_data_port=20
#启用被动传输模式
pasv_enable=YES
#被动模式传输时开始的端口号
pasv_min_port=40000
#被动模式传输时结束的端口号
pasv_max_port=40100

3、创建一个ftp本地账户 

useradd ftpuser -s /sbin/nologin  添加账户

passwd ftpuser  设置密码

4、把根目录的权限设置为此用户可以写入删除

chmod o+w+r /var/ftp/

5、在防火墙中添加被动传输的端口

firewall-cmd --zone=public --add-port=20-21/tcp --permanent 
firewall-cmd --zone=public --add-port=40000-40100/tcp --permanent 
firewall-cmd --reload

6、查看selinux配置是否正常(允许用户登录)

sestatus -b | grep ftp

如果全部都是off,则根据需求进行打开,比如:

setsebool -P ftpd_full_access on
setsebool -P allow_ftpd_anon_write on
setsebool -P ftpd_use_passive_mode=on systemctl restart vsftpd

7、把服务设置成开机启动   systemctl enable vsftpd.service

8、至此,CentOS下配置vsftpd就应该成功运行了。

连接时如果遇到530 Login incorrect错误。

进入/etc/pam.d将vsftpd文件中的pam_shells.so改为pam_nologin.so,然后systemctl restart vsftpd重启服务。

如果遇到425 Failed to establish connection则把防火墙打开按服务传输

firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload

如果遇到553 Could not create file错误,则需要把vsftp的访问目录权限设置为777

chmod -R 777 /usr/local/minio/data/

 

posted @ 2019-04-01 18:00  踏平扶桑  阅读(621)  评论(0编辑  收藏  举报