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/