Linux umask命令
Linux umask命令指定在建立文件时预设的权限掩码。
umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
语法
umask [-S][权限掩码]
参数说明:
-S 以文字的方式来表示权限掩码。
实例
查看系统的 umask 权限
[[email protected] ~]# 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—”
[[email protected] ~]# vim /etc/profile [[email protected] ~]# source /etc/profile [[email protected] ~]# useradd wgr [[email protected] ~]# 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 [[email protected] ~]$ 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 ~]$
原文地址:https://www.cnblogs.com/dalianpai/p/12301692.html