1 / 4
文档名称:

umask使用方法.doc

格式:doc   大小:39KB   页数:4页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

umask使用方法.doc

上传人:zxwziyou8 2022/2/26 文件大小:39 KB

下载得到文件列表

umask使用方法.doc

相关文档

文档介绍

文档介绍:linux tar命令用法
 
Linux find命令详解
umask  
2008-07-11 18:02:19|  分类:linux |  标签: |字号大中小 订阅
umask
功能说明:指定在建立文件时预设的权限掩码。三个数字,其实包含了九个不同意涵的参数,用来对映九种不同的使用权限,这些参数会被要产生档案的程序,或者是要产生目录的程序带入并执行出结果。一个 C shell 的使用者必须要有能力完全掌握 umask 的设定,并演算出设定后所得到的结果。
系统在产生一个新目录,会完全使用到上述的九种权限的参数,所以最大值是 777 ,这对 umask 内建指令而言,可以很容易地使用减去权限的方法来获得正确的结果。但在产生一个新档案时,就不是如此。
系统在产生一个新档案时,creat function 只取用 read 与 write 权限相关参数,也就是 access permission bits 里的 S_IRUSR, S_IWUSR, S_IRGRP, S_IWGRP, S_IROTH, S_IWOTH 来定义产生的档案应该具有何种程度的权限。由于 read(数值 4)与 write(数值 2)的权限相加的结果是 6。所以最大的有效数值为 666。至于所有的 execute 权限(数值 1)在此被忽略(access permission bits 为 S_IXUSR, S_IXGRP, S_IXOTH),所以 creat function 在输出时一律定义为 0,也就是无执行的权限。会对档案如此限制的理由其实很容易理解。因为几乎不可能有一个使用者他的所有档案都绝对必要被固定成为给予 execute 权限(档案包含的型态相当多,如文字文件、数据文件、图形文件、执行文件等等),如果功能被如此设定的话,反而会造成相当多的系统漏洞,所以必须管制成必要时再由使用者自己来打开 execute 权限(这就是为什么每当你新编辑完成的 C Shell script ,还要用指令 chmod 来加上可执行使用权限才能执行的原因)。
明了上述的原因之后,看官们您能理解,指令 umask 的设定值里面,如果包含了 excute 权限,又运算产生档案的使用权限时,应该要先减去(或者应该称为 disable),才来作运算。所以当设定值为 670,其中是第二位数字是奇数,明显的包含了
S_EXGRP 的数值,所以先减去 1,所已有效设定为 660。此时使用最大值 666 减去 660,得到的便是正确的档案使用权限。
农夫我使用最大值减去设定值的方式来说明,对一般的使用者应该能较容易理解与运用。在前一版的文字说明中,我曾经提到计算的方式此用的是 XOR 运算法则,它才是实际上程序的运算法则。也就是设定值被程序拆成参数后的参数算法则。我想学****过逻辑运算的人都清楚 XOR 的运算方式(如右图所示)。
以下我使用设定值 067 当作例子,以 XOR 的算法则来实际设定会应该得到的结果。
希望看官们,能理解以上的说明(农夫我发觉改写后的版本,看起来实在相当啰唆)。以下提供一些比较常用的设定值供看官们参考:
档案权限的最大值设定值结果代表的使用权限666002664rw-rw-r--666022644rw-r--r--666037640rw-r