`
tcspecial
  • 浏览: 895900 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

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反向解析

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics