LinuxSir.cn,穿越时空的Linuxsir!

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

问:关于umask掩码的问题

[复制链接]
发表于 2004-9-22 17:44:28 | 显示全部楼层 |阅读模式
资料中说:当用户创建文件和目录时下面的命令将设置文件创建权限掩码并显示这个掩码和结果,如系统创建的掩码为022,减去777后则文件权限值为644(rw-r--r--)目录权限值为755(rwxr-xr-x)
$umask 022
$umask
022
or      $umask g=rx,o=r,x
$umask

这个设置把我搞晕了
我找了不少的资料不过说的都让我看不明白
我理解系统中默认情况下有这么一个值022
我们创建文件时它用777-022  就得出来了755  也就是超级用户有读写执行
所在组有执行和读其它用户也有执行和读
我理解的就是先默认有一个值之后系统再用777去减

可是资料中举的例子说掩码是022用777去减怎么文件得出个644而目录得出个755呢?
这个目录得出来的权限和我理解的就不一样了

这是怎么回事啊

请大家用自己的语言给我解释一下吧

谢谢谢

发表于 2004-9-22 21:08:30 | 显示全部楼层
你先说说吧,向你学习!
 楼主| 发表于 2004-9-22 21:19:23 | 显示全部楼层
我要是知道还到坛里问什么啊?
111 111 111 =777
000 010 010 =022
上面的1下面的的1比掉所以下面的就成了755
对于文件而言系统不知道你创建的文件是否为可执行很多时候都不是的所以可以把文件的权限想成是为666去减的所以就成了644了
这是我刚刚打电话问一个朋友问到的费了三块多的话费啊
李先生你怎么不愿意帮助我了呢
发表于 2004-9-22 21:41:11 | 显示全部楼层
我有我的说法,可之前论坛的兄弟说我那样不正确,也没真正去看过

umask的000 = 777
umask的022 = 755

我是这样来算的,022如何算出它是755,用777减022,
 楼主| 发表于 2004-9-22 21:45:41 | 显示全部楼层
snoopy那就对了
我们说的一样了
朋友给我举的算法不算  让我一下就明白了
发表于 2004-9-22 23:04:37 | 显示全部楼层
在大多数的linux/unix系统里,的umask是022,当创建一个非目录文件时候,
是用666-umask(这里是022),那么创建的文件的权限即为644,
而创建一个目录文件的时候,是用777-umask,那么得到的目录文件的权限就是
755,当然,这个umask是可以根据自己的需要而改变的.
这些知识,在基础区里的<<linux系统管理手册>>中都有描述,大家自己搜一下吧!
发表于 2004-9-26 16:01:23 | 显示全部楼层
这是为了提供更好的安全性
 楼主| 发表于 2004-9-26 22:06:52 | 显示全部楼层
keke
 楼主| 发表于 2004-9-26 23:00:06 | 显示全部楼层
那我再问一下FTP下载到本地的文件是不是都变成了622这个权限啊?

如果是的话那它是根据什么得出来的啊?
发表于 2004-9-26 23:35:19 | 显示全部楼层
不是,我记得是,ftp上是什么权限,下来后就是什么权限。
(我的记忆)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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