当前位置    :     网站首页    /     生活 > 详情页

世界视讯!关于linux系统中umask值的说明-以及计算转换成默认权限符号的方法

2023-05-25 22:35:57来源:博客园

关于linux系统中的umask值,我们可以通过man手册的解释为:The user file-creation mask is set to mode


(资料图)

简单的理解,就是用户的umask的值决定着文件(也包括目录)创建时的默认权限,对于root用户来说,一般为0022

[root@qq-5201351 ~]# umask0022

这样可能还是不能很直观的表达出,可以通过如下的命令进行计算,以更容易理解的格式展示出来

[root@qq-5201351 ~]# umask -Su=rwx,g=rx,o=rx

但上面的仅仅是针对的创建一个新目录后的默认权限将是u=rwx,g=rx,o=rx

这个是如何计算出来的,笔者经常使用的方法如下:

对于目录的默认权限:(rwx rwx rwx) - (0022) --> (rwxrwxrwx) - (----w--w-) = rwxr-xr-x 这样也就是上面的结果:u=rwx,g=rx,o=rx

对于文件的默认权限:(rw- rw- rw-) - (0022) --> (rw- rw- rw-)- (--- -w- -w-)=rw- r-- r-- 这样最后的权限结果就将是:u=rw,g=r,o=r

注意:因为对于文件,默认是不能有执行权限的,所以在计算时,被减数就只能为 rw-rw-rw- , 这样也能防止计算出的结果会有执行权限,那样就不安全了

还有一点需要说明一下,umask的值是4位,当然linux文件的权限也可以写成4位的形式,这里说明一下umask的第一位数字

笔者是参考至官网文档(Red Hat Enterprise Linux / 8 /Configuring basic system settings / Chapter 26. Managing the umask):

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/configuring_basic_system_settings/assembly_managing-the-umask_configuring-basic-system-settings

其中有一段Note,还特意解释了一下umask的第一位:

When displaying the umask in octal mode, you may notice it displayed as a four digit number (0002 or 0022). The first digit of the umask represents a special bit (sticky bit, SGID bit, or SUID bit). If the first digit is set to 0, the special bit is not set.

也即是说,umask的第一个数字表示一个特殊位(SBIT粘性位、SGID位或SUID位),如果第一个数字设置为0,则不设置特殊位。

但实际上,对于umask,要么我们就写三位,前面就默认为0

如果写成4位,那么第一个数字,也只能为0 ,否则会报错:-bash: umask: 1000: octal number out of range

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/17432433.html

标签:

电脑

硬件

电竞

数码

家用摄像头哪个品牌好?有哪些品牌推荐? 芒果tv怎么和好友一起看剧?芒果tv创建房间一起看剧方法分享 微信异地登录被限制登录怎么解决?异地保护怎么解除? 支付宝收款语音播报怎么设置?收款语音设置在哪里 iphone12公开版和官方版有什么区别?iPhone12连5G耗电快怎么办?
产品

焦点快报!中贝通信:控股股东暂无减持计划

当前快讯:传艺科技:公司钠离子电池一期4.5GWh项目正在产能爬坡期

东方集团: 东方集团独立董事关于公司第十届董事会第三十五次会议审议事项的事前认可意见

5月25日桂东电力涨停分析:光伏,水电,风电概念热股

“都是‘压箱底’的好地块”:郑州推介土地,百余家企业参加