LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 712|回复: 5

看过了vsftpd的精华,没有找到答案!

[复制链接]
发表于 2004-11-25 16:50:56 | 显示全部楼层 |阅读模式
redhat 9.0 下安装了vsftpd-1.1.3.8
vi /etc/vsftpd/vsftpd.conf,内容如下
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
ascii_upload_enable=YES
ascii_download_enable=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
完毕!其它的配置没有动过!
设置incoming属性
#chmod 777 incoming
在浏览器下面可以上传文件,但是不能下载传上去的文件!
在linux9.0下 看到传上去的文件属性为--rw-----
还得执行 #chmod 777 /var/ftp/incoming/*.* ,才能下载该文件!
请问怎么可以把上传的文件直接下载!
还有这是什么原因造成的?!!
发表于 2004-11-25 21:11:58 | 显示全部楼层
umask呢??

local_umask=000
anon_umask=000
 楼主| 发表于 2004-11-26 15:53:39 | 显示全部楼层
umask=220 有什么不对吗?
umask=000 是什么意思?
发表于 2004-11-26 17:12:27 | 显示全部楼层

umask=*** 的简单解释

umask=022中"022"是八进制的写法,如果换成二进制是000010010

在unix中文件权限是三类用户,三种权限。三类用户分别是文件所有者user(u),文件所有者所在主群组group(g)、其它用户others(o),三种权限分别是起读read(r)、写write(w)、执行execute(x)。

如果一个文件的权限如下:所有者有读写的权限,群组有读和执行权限、其它用户有读权限,可以写成:
rw-r-xr--
其中前三位指明了所有者的权限、中间三位指明了组权限、最后三位指明了其它用户的权限。我们用ls -l可以看到文件权限详情,列出来的是10位,最前一位如果是d表示是子目录。
说回来,如果把这上面9位字母换成二进制数则是:
110101100
如果换成八进制是多少?

因此文件权限可以用9位二进制数表示。umask在英文中是屏蔽的意思,那么
umask=022
指屏蔽文件的022权限,到底屏蔽了什么?将这个八进制数用二进制表示
000010010
换算成字母是
----w--w-
指取消组的写权限、取消其它用户的写权限。
屏蔽这些权限后,剩下什么权限呢?用字母表示是:
rwxr-xr-x
用二进制数表示是:
111101101
你可以对比一下
000010010
可以知道屏蔽前后的换算关系。

在vsftpd的配置文件中,umask=022表示了上权后的文件被屏蔽的权限,另一句话说,就是上传的文件所具有的权限。

你可以找一点讲unix操作系统的书看看,写得比我好得多。
 楼主| 发表于 2004-11-30 10:22:42 | 显示全部楼层
感谢楼上的兄弟!再一次感谢!
发表于 2004-11-30 12:51:58 | 显示全部楼层
写的挺好!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表