Linux系统服务 5 ---- Vsftpd匿名用户不能下载原因分析及解决
来源:互联网 发布:软件技术优势怎么写 编辑:程序博客网 时间:2024/05/01 07:34
原文出处
Vsftp匿名用户不能下载原因分析及解决
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
---------------------------------------------------
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
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权限没问题
------------------------------------------------------
总计 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
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 transferred
lftp localhost:/test> ls
-rw-r--r-- 1 14 50 27001 Sep 15 02:34 install.log
-----------------------------------------------------27001 bytes transferred
lftp localhost:/test> ls
-rw-r--r-- 1 14 50 27001 Sep 15 02:34 install.log
0 0
- Linux系统服务 5 ---- Vsftpd匿名用户不能下载原因分析及解决
- vsftpd匿名用户不能下载
- vsftpd 匿名用户能下载,不能上传文件
- vsftpd匿名用户不能上传文件
- 解决 vsftpd root 用户不能登陆vsftpd
- vsftpd服务的配置(匿名用户)
- Linux系统服务 6 ---- vsftpd服务的配置文件实现匿名登录上传下载和删除功能
- vsftpd 匿名用户只读不写的原因
- vsftpd文件服务仅允许匿名用户访问
- vsftpd匿名用户上传和下载的配置
- vsftpd匿名用户上传和下载的配置
- vsftpd匿名用户上传和下载的配置
- vsftpd匿名用户上传和下载的配置
- Linux系统服务 3 ---- FTP服务原理及vsftpd服务配置
- 不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***)
- java web用户频繁非正常登出系统(session丢失)的原因分析及解决思路
- Linux vsftpd配置及用户创建
- vsftpd配置本地用户有所有权限,匿名用户只能下载
- Struts2结合Jfreechart实现数据报表统计
- Android之Activity标题栏和状态栏设置
- 装了win7和win8双系统之后,怎么删除win8系统
- PC与iPhone间的通信方式(草)
- 为什么HierachyViewer无法连接真机调试
- Linux系统服务 5 ---- Vsftpd匿名用户不能下载原因分析及解决
- 开发Qt Plugin 3
- Qt for Android 编译纯C工程
- QT 多线程信号与槽(三)
- 关于Windows下ShellCode编写的一点思考
- 游戏服务器之被动连接线程池
- ZXing简介与核心库编译
- 字符数组名可以相互赋值吗
- 影像匀色及影像匀色软件