Linux命令之umask

Posted 天宇轩-王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令之umask相关的知识,希望对你有一定的参考价值。

Linux umask命令

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

umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。

语法

umask [-S][权限掩码]

参数说明

-S  以文字的方式来表示权限掩码。

实例

查看系统的 umask 权限 
[root@iZbp143t3oxhfc3ar7jey0Z ~]# umask
0022
[root@iZbp143t3oxhfc3ar7jey0Z ~]# umask -S
u=rwx,g=rx,o=rx

 umask 权限的计算方法
我们需要先了解一下新建文件和目录的默认最大权限。
对文件来讲,新建文件的默认最大权限是 666,没有执行( x)权限。这是因为执行权限对文件
来讲比较危险,不能在新建文件的时候默认赋予,而必须通过用户手工赋予。
对目录来讲,新建目录的默认最大权限是 777。这是因为对目录而言,执行( x)权限仅仅代表
进入目录,所以即使建立新文件时直接默认赋予,也没有什么危险。

按照官方的标准算法, umask 默认权限需要使用二进制进行逻辑与和逻辑非联合运算才可以得到
正确的新建文件和目录的默认权限。这种方法既不好计算,也不好理解,超哥并不推荐。
我们在这里还是按照权限字母来讲解 umask 权限的计算方法。 我们就按照默认的 umask 值是 022
来分别计算一下新建文件和目录的默认权限吧。
文件的默认权限最大只能是 666, 而 umask 的值是 022
-rw-rw-rw-”减去 “-----w--w-”等于“-rw-r--r—
目录的默认权限最大可以是 777, 而 umask 的值是 022
drwxrwxrwx”减去“d----w--w-”等于“drwx-r-xr-x
注意: umask 默认权限的计算绝不是数字直接相减。
例如 umask 033 呢?
文件的默认权限最大只能是 666,而 umask 的值是 033
-rw-rw-rw-”减去“-----wx-wx”等于“-rw-r--r—

[root@iZbp143t3oxhfc3ar7jey0Z ~]# vim /etc/profile
[root@iZbp143t3oxhfc3ar7jey0Z ~]# source /etc/profile
[root@iZbp143t3oxhfc3ar7jey0Z ~]# useradd wgr
[root@iZbp143t3oxhfc3ar7jey0Z ~]# passwd wgr
Changing password for user wgr.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@iZbp143t3oxhfc3ar7jey0Z ~]# su - wgr
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$ ll
total 0
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$  mkdir test
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$ touch test.txt
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$ ll
total 4
drwxr-xr-x 2 wgr wgr 4096 Feb 12 23:01 test
-rw-r--r-- 1 wgr wgr    0 Feb 12 23:01 test.txt
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$ umask
0022
[wgr@iZbp143t3oxhfc3ar7jey0Z ~]$

以上是关于Linux命令之umask的主要内容,如果未能解决你的问题,请参考以下文章

每天学点Linux命令之umask

每天学点Linux命令之umask

Linux常用命令——umask

linux命令之文件系统权限操作常用命令

Linux之权限设置(默认权限隐藏权限及特殊权限)

关于linux的umask命令