免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 37158 | 回复: 9
打印 上一主题 下一主题

[FTP] local_umask=022是什么意思? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-15 15:35 |只看该作者 |倒序浏览
请问local_umask=022是什么意思?是指什么的掩码?

论坛徽章:
0
2 [报告]
发表于 2005-12-15 15:45 |只看该作者
022是一个什么样的权限?

论坛徽章:
0
3 [报告]
发表于 2005-12-15 15:58 |只看该作者
777-022=755
666-022=644
明白否!

论坛徽章:
0
4 [报告]
发表于 2005-12-15 20:30 |只看该作者
原帖由 norman_lu 于 2005-12-15 15:58 发表
777-022=755
666-022=644
明白否!


umask决定目录和文件被创建时得到的初始权限
umask = 022时
新建的目录 权限是755
文件的权限是 644

用umask命令查看或设置当前的umask

$ umask
000

$ umask 022

你可以改变一下umask,建立目录和文件,观察一下

还有,umask是unix操作系统的概念,vsftpd的local_umask借鉴了它

[ 本帖最后由 wolfg 于 2005-12-15 20:32 编辑 ]

论坛徽章:
0
5 [报告]
发表于 2005-12-21 13:12 |只看该作者
OK.谢谢两位。

论坛徽章:
0
6 [报告]
发表于 2008-12-27 12:39 |只看该作者
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操作系统的书看看,写得比我好得多。

论坛徽章:
0
7 [报告]
发表于 2008-12-27 12:51 |只看该作者
原帖由 norman_lu 于 2005-12-15 15:58 发表
777-022=755
666-022=644
明白否!

其实这样相减计算不是很好的。
例如:
假设umask为003,如果使用默认属性相加减,则文件变成666-003,即-rw-rw-wx,这是不对的,文件本来就没有默认的x属性,不可能在这里出现的,所以,这个地方要特别的小心,最好就采用二进制方式进行AND与NOT计算,也可以使用符号方式计算。

论坛徽章:
0
8 [报告]
发表于 2012-06-28 19:35 |只看该作者
jinxuan_zh 发表于 2008-12-27 12:39
umask=022中"022"是八进制的写法,如果换成二进制是000010010

在unix中文件权限是三类用户,三种权限。三 ...


赞详细解释!!

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
9 [报告]
发表于 2012-06-28 19:46 |只看该作者
本帖最后由 ulovko 于 2012-06-28 19:47 编辑
  1. # man vsftpd.conf
  2. /umask
  3. anon_umask
  4.         The value that the umask for file creation is set to for
  5.         anonymous users.  NOTE! If you want to specify octal values,
  6.         remember the "0" prefix otherwise the value will be treated as
  7.         a base 10 integer!
  8.         Default:  077
  9. local_umask
  10.         The value that the umask for file creation is set to for local
  11.         users.  NOTE! If you want to specify octal values,remember the
  12.         "0" prefix otherwise the value will be treated as a base 10 integer!
  13.         Default:  077
复制代码

论坛徽章:
0
10 [报告]
发表于 2014-11-19 18:48 |只看该作者
jinxuan_zh 发表于 2008-12-27 12:51
其实这样相减计算不是很好的。
例如:
假设umask为003,如果使用默认属性相加减,则文件变成666-003, ...

怎么会这样呢
我觉得他设计得挺好了
哪怕你用十进制算,6-3=3   权限是由124构成,显然这里减去了 1+2.即WX
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP