安装vsftpd服务
yum install -y vsftpd
编辑配置文件
vim /etc/vsftpd/vsftpd.conf
#配置文件如下
#是否允许匿名用户
anonymous_enable=NO
#是否允许本地ftp登陆
local_enable=YES
#是否允许ftp用户登陆后执行写操作
write_enable=YES
#文件被创建时的权限
local_umask=022
#是否显示路径信息
dirmessage_enable=YES
#
xferlog_enable=YES
#
connect_from_port_20=YES
#
xferlog_std_format=YES
#设置vsftpd服务器是否以standalone模式运行,该值必须设置为yes
listen=YES
pam_service_name=vsftpd
#/etc/vsftpd/user_list文件是否启用生效
userlist_enable=YES
#/etc/vsftpd/user_list文件中的用户是否允许访问还是不允许访问,设置为yes,则该文件里面的用户不可访问,设置为no,则只有该文件里面的用户可以访问
userlist_deny=NO
#是否与tcp_wrapper结合来判断用户的登陆许可,会去检查/etc/hosts.allow和/etc/hosts.deny
tcp_wrappers=YES
#端口
listen_port=2121
#开启被动模式
pasv_enable=YES
#被动模式最小端口
pasv_min_port=30000
#动模式最大端口
pasv_max_port=31000
修改/etc/vsftpd/user_list
由于上一步conf文件的设置(userlist_deny=NO),只有出现在这个文件里面的用户才能使用ftp登陆
新建一个dsj_ftp用户,并写入这个文件
关闭selinux
(否则会报500 OOPS: cannot change directory错误)
sed -i 's/enforcing/disabled/g' /etc/sysconfig/selinux
setenforce=0
配置防火墙
#防火墙开启连接端口(我这里是2121),以及被动连接的范围端口(30000-31000)
iptables -I INPUT -p tcp --dport 2121 -j ACCEPT
iptables -I INPUT -p tcp --dport 30000:31000 -j ACCEPT
#保存防火墙,重启防火墙,重启vsftpd
service iptables save
service iptables restart
service vsftpd restart
客户端FZ连接测试通过!
报错一
553报错
1.检查selinux,确认已经关闭
2.确认配置文件中write_enable=YES
3.确认该路径下可写
(执行了一个cp成功,证明可写)
4.确认用户的属组和属主拥有ftp相关权限
这里因为新挂了一个磁盘到/home目录下,因此将原有的目录干掉了,新建之后路径属组和属主为root,而在配置文件里面root是被我禁止了的,所以导致553报错!
修改路径属组/主之后,上传文件成功
报错二
通过FZ上传一个比较大的tar包(innobackup的RDS全库备份)到服务器上,解压失败
后来发现是传输类型的原因
将原来的传输类型二进制换成ASCⅡ码后解决该问题
网友评论