umask

用途

指定在建立文件时预设的权限掩码。

语法

umask [-S][权限掩码]

描述

umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。例如,root的权限为777,若[权限掩码]设为022,两者相减后可得755。

参数

-S  以文字的方式(rwx)来表示权限掩码。
s或S(SUID,Set UID):可执行的文件搭配这个权限,便能得到特权,任意存取该文件的所有者能使用的全部系统资源。
请注意具备SUID权限的文件,黑客经常利用这种权限,以SUID配上root帐号拥有者,无声无息地在系统中开扇后门,供日后进出使用。
s或S(SGID,Set GID):设置在文件上面,其效果与SUID相同,只不过将文件所有者换成用户组,该文件就可以任意存取整个用户组所能使用的系统资源。
T或T(Sticky):/tmp和 /var/tmp目录供所有用户暂时存取文件,亦即每位用户皆拥有完整的权限进入该目录,去浏览、删除和移动文件。
因为SUID、SGID、Sticky占用x的位置来表示,所以在表示上会有大小写之分。加入同时开启执行权限和SUID、SGID、Sticky,则权限表示字符是小写的:

-rwsr-sr-t 1 root root 4096 6月 23 08:17 conf

如果关闭执行权限,则表示字符会变成大写:

-rwSr-Sr-T 1 root root 4096 6月 23 08:17 conf

如果要加上特殊权限,就必须使用4位数字才能表示。特殊权限的对应数值为:

s或 S (SUID):对应数值4。
s或 S (SGID):对应数值2。
t或 T :对应数值1。

在umask中对文件来说,最大的数值是6,对文件夹来说,最大的数值是7。

大家看一下面的公式就明白了

666-umask值=文件的权限
777- umask值=文件夹的权限

普通用户是002,其建立的文件默认权限是666-002=664
其建立的文件夹默认权限是777-002=775
普通用户是022,其建立的文件默认权限是666-022=644
其建立的文件夹默认权限是777-042=755 

例子

显示目前用户(此例为root)的权限掩码:

$ umask
022
$ umask -S
u =rwx,g=rx,o=rx <-- 代表同群组与其他用户没有写入的权限

将权限掩码设为000:

$ umask 000
$ umask -S
u =rwx,g=rwx,o=rwx <-- 代表同群组与其他用户有所有的权限

相关命令

shells/commands/umask.txt · 最后更改: 2010/08/24 23:14 (外部编辑)
[unknown link type]到顶部
GNU Free Documentation License 1.3
京ICP备05034962号 Debian Driven by DokuWiki get firefox browser Recent changes RSS feed Valid XHTML 1.0