本文主要是介绍【Linux】权限的理解之权限掩码(umask),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
前言
一、利用八进制数值表示文件或目录的权限属性
二、系统默认的权限掩码和权限掩码的作用原理
三、分析权限掩码改变文件或目录的权限属性
前言
权限掩码是由4个数字组合而成的,默认的第一位数字是0;后三位数字分别由八进制位数字组成。权限掩码主要利用后三位数字发挥作用,后三位八进制数字代表的是文件或目录的权限属性。权限掩码存在的意义是:可以通过修改它来改变所创建的文件或目录的默认权限属性。
在看文件掩码之前我们来看一下用八进制位数值表示文件或目录的权限属性 :
一、用八进制数值表示文件或目录的权限属性
文件或目录的权限属性有三种类型:
r:可读 w:可写 x:可执行 (这里其实还有一个t,t是x的一种特殊替换)
下面来举1个例子:
r-x-w-r-x 用二进制数值表示:101 010 101 进而用八进制数值表示为:525
验证示例如下:
二、系统默认的权限掩码和权限掩码的作用原理
系统默认的权限掩码是:
这里需要注意的一个点是:
系统默认给普通文件的起始权限其实是666。
系统默认给普通文件的起始权限其实是777。
那为什么下面新创建的文件的权限是664,新创建的目录的权限是775 ?
这就涉及到了权限掩码的作用原理,这种作用原理是:
文件或目录的最终权限属性=文件或目录的起始权限属性&(~umask)
下面大家可以可以自行通过该作用原理测试。
三、分析权限掩码改变文件或目录的权限属性
那如果我们想创建一个可以仅让自己修改和查看的文件(无论所属组的用户如何改变),即最终的文件权限属性是:rw-------(当然,这里如果要想让其他用户能看见该文件的内容,其他用户必须先可以访问该文件所在的用户才可以),该如何利用权限掩码来操作呢?
仅需要对权限掩码进行修改即可:
这篇关于【Linux】权限的理解之权限掩码(umask)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!