Vsftp匿名用户不能下载原因分析及解决
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-30
Vsftp匿名用户不能下载原因分析及解决
近期在群里,坛子里,包括自己做练习的时候都遇到了上面的问题,搜索网络也没找到比较确切的答案;后又查看了大量的相关文章和资料,现把这个问题拿出来分析解决,供广大vsftp学习新人参考:(这个问题和防火墙无关,关闭iptables) vsftp中的和匿名用户有关的参数: 1)主配置文件:/etc/vsftpd/vsftpd.conf--------------------------------------------------[root@station ~]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# anonymous_enable=YES local_enable=YES write_enable=YES local_umask=022 //本地用户上传文件的umask值. anon_upload_enable=YES //允许匿名上传 anon_mkdir_write_enable=YES //匿名用户可以对目录进行写操作. dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES --------------------------------------------------- 2)看相关的selinux设置: --------------------------------------------------- [root@station ~]# getsebool -a |grep ftp allow_ftpd_anon_write --> on //匿名用户写权限,要开启 allow_ftpd_full_access --> on //匿名用户要上传文件,要开启 allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off allow_tftp_anon_write --> off ftp_home_dir --> on //本地用户家目录 ftpd_disable_trans --> off //关闭selinux对ftp服务的影响 ftpd_is_daemon --> on httpd_enable_ftp_server --> off tftpd_disable_trans --> off ------------------------------------------------------ 按照上面的设置,重启服务就好了.大多数新人看到的文章基本都是这么配置的,但是我们遇到的问题就产生了. 现象:匿名用户能登陆ftp服务器(linux客户端,或者windows客户端都可以)使用linux客户端,可以上传文件,可以建立目录;使用windows客户端可以长传文件,建立目录不能修改名字,只能用新建文件夹 新建文件夹1...... 分析: 1、能确定的一定是权限问题. 2、关闭selinux测试,问题依旧,说明和selinux无关. 3、我们来看一下我们上传的文件: 1)目标目录的权限: ------------------------------------------------------ [root@station booleans]# ll /var/ftp/ 总计 16 drwxr-xr-x 2 root root 4096 2007-12-13 pub drwxrwxrwx 2 root root 4096 09-15 10:25 test //777权限没问题 ------------------------------------------------------ 2)上传以后的文件的权限: ------------------------------------------------------ lftp 192.168.1.10:/test> put /root/install.log ./ 27001 bytes transferred lftp 192.168.1.10:/test> ls -rw------- 1 14 50 27001 Sep 15 02:31 install.log ------------------------------------------------------ 注意看那个权限600,这是造成我们不能下载的主要原因. 解决方法: /etc/vsftpd/vsftpd.conf下只有local_umask=022的选项,他决定了上传月以后的文件的权限.默认文件权限是666,目录权限是777,然而我们的匿名用户上传的文件的权限却没有写明,那么默认的vsftp服务对匿名用户的umask值是多少呢?根据我们的测试,应该是066.我们要修改匿名用户的umask值使我们可以进行一些相关操作,增加anon_umask=022,重启服务,然后测试vsftp 是不是能下载了? ----------------------------------------------------- lftp localhost:/test> put /root/install.log 27001 bytes transferr |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: vbox系列教程-高级应用(二)下一篇: linux培训课程第十二天:ppt以及笔记
关于Vsftp匿名用户不能下载原因分析及解决的所有评论