0
点赞
收藏
分享

微信扫一扫

vsftpd 配置


安装配置好vsftpd服务器后,FTP上传文件报错:

 

1. 451 Failure writing to local file

检查发现是磁盘满了。du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录 /var/spool/clientmqueue。搜索发现 /var/spool/clientmqueue 是因为系统定时服务cron的输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

 

解决方法:在cron的自动执行语句后加上 >/dev/null 2>&1

crontab -e

4 3 * * * /usr/bin/w > /dev/null 2>&1

 

清除 /var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:"-bash: /bin/rm: Argument list too long.."

意思是参数太长,rm 干不了。执行命令 ls | xargs rm -f 可正常执行

 

2. 新建ftp用户

useradd -d /home/ftp -s /sbin/nologin  ftpuser      #新建ftp账号

passwd ftpuser      #设置账号密码

 

3. 500 OOPS:vsftpd: refusing to run with writable root inside chroot

如果启用chroot,然后用户根目录可写,新版本的vsftpd则会报上述错误。

 



#/etc/vsftpd.conf #启用chroot,锁定用户主目录,不允许用户切换目录 chroot_local_user=YES #限制用户只能在/home/user下访问 chroot_list_enable=YES #是否启动用户限制名单 chroot_list_file=/etc/vsftpd.chroot_list #配置在vsftpd.chroot_list中的用户可以切换目录 local_root=/var/ftp #用户登录后默认目录



 

解决方案:

方法一:直接添加用户账号至 /etc/vsftpd.chroot_list 

方法二:

如果没有配置local_root,则只需要设置用户主目录不可写

chmod a-w /home/ftpa

当配置local_root后,发现改变去除用户写权限后,仍然报上述错误。此时还需去除/var/ftp写权限

chmod a-w /var/ftp

 

登录后正常,虽说只能访问/var/ftp目录,却不能上传文件。可在/var/ftp下新建一个可读写的新目录,直接将文件上传到该目录。

 

4. 425 Security: Bad IP connecting

vsftpd.conf 最后添加:



pasv_promiscuous=YES



关闭PASV模式的安全检查。

 

5. OOPS: cannot change directory:/home/ftp

该错误是由于SELinux安全策略引起的。

 



[centos@xxx home]$ getsebool -a | grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_use_fusefs --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off tftp_use_cifs --> off tftp_use_nfs --> off



 可见ftp_home_dir 默认为off, 设置为on即可。

 



setsebool ftpd_disable_trans 1



 

系统版本不同时,上述命令可能会报错:Boolean ftpd_disable_trans is not defined,更换命令:



setsebool ftp_home_dir 1



 

7. 553 Could not create file

检查FTP目录权限,chmod 777 ftp

如果仍然出问题,设置SELinux安全策略:



setsebool -P ftpd_disable_trans 1



 

8. 227 Entering Passive Mode 

ftp连接上服务器后,运行命令ls,报上述错误,一直止住不动。

解决方法,在vsftpd.conf 中配置外网IP即可。



pasv_address=xxx



 

9. FTP验证很慢,卡住

vi vsftpd.conf 

reverse_lookup_enable=NO     #关闭DNS反向解析

 

 

 

举报

相关推荐

0 条评论