Linux-umask(Linux中默认权限掩码)

我们创建一个文件或者目录后,我们都会看到前面会默认给出一定的权限,我们是拥有者,为什么还会给我们设置默认的权限?为什么不是我们来设置?

>umask-Linux中的默认权限掩码

一、umask指令解释

Linux 是注重安全性的操作系统,而安全的基础在于对权限的设定,不仅所有已存在的文件和目录要设定必要的访问权限,创建新的文件和目录时,也要设定必要的初始权限。

这个初识权限通过使用 umask 默认权限来给所有新建的文件和目录赋予初始权限的。

那我们怎么如何得知umask默认权限的值?直接通过umask命令得:

0002是默认值(注意!不同系统可能对用的默认值不同!),如果我们想要修改,那么在指令后面加上我们想要修改的数字即可,至于如何修改,修改的原理是什么,我们稍后再讲。

我们可以看到会出现0002四个数字,第一位与特殊权限有关,在设置默认权限时不会用到,我们可以不用理会。只看后三位002。

这三位是八进制数字,在创建文件的时候,要从默认权限中,过滤掉在umask中出现的权限。

二、初始权限

我们在umask 002的前提下创建一个文件的权限是:

我们可以看到创建file文件后,默认权限是0664

那我们将002设置成000,看看不需要过滤的权限是什么样子的:

我们可以看到,没有umask过滤权限的前提下,我们的文件初始权限是0666,三个角色都是没有x权限的.

说明我们过滤之后从0666变成了0664.

三、如何过滤

最终权限=初识权限&(~umask)

我们在进行过滤时,要先将初始权限的八进制位和umask的八进制位转化为二进制,然后我们先将umask按位取反,再与初识权限的每个位相&,就得到我们的最终权限了。

讲解:


根据这个原理,我们就可以设置自己想要的默认权限了。

  • 9
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值