每天写500字每周500字每天写1000字

linux命令行学习(28):掩码命令umask

2019-10-28  本文已影响0人  金石明镜

我们在创建文件时,系统会给它默认的权限。掩码是用来控制这个默认权限的。当我们改变掩码时,会影响创建文件时的默认权限。

掩码本身有默认值:0002或0022。

根据我的测试,以普通用户登陆时,掩码为0002;以超级用户登陆时,掩码为0022。

一般情况下,我们不用改变掩码,只在特殊情况时,才需要改变掩码。

注意到掩码有四个数字,其中第一个对应特殊权限,这里不讨论。我们只讨论后面三个,第一个就约定它为0。

后面三个,对应着用户权限、组权限和其他用户权限。

每一个都是一个三位二进制数。0就是000,1就是001,2就是010,3就是011,4就是100,5就是101,6就是110,7就是111。

一个权限有三位,比如rwx,与掩码的每一个二进制数对应。当掩码的这一位为1时,就拿掉对应权限。例如:

原始权限为---,掩码为000,则结果为---

原始权限为rw-,掩码为000,则结果为rw-

原始权限为rw-,掩码为010,则结果为r--

因此,0002的掩码,会拿掉其他用户的写权限。0022的掩码,会拿掉组用户和其他用户的写权限。这是我们在创建文件时,应该知道的。

umask命令主要有两种用法。

一种是查看当前的掩码值。只使用命令关键字就可以了。

一种是设置掩码值,在umask后面加上四位掩码值。例如:

umask 0027

就将掩码设置为0027。这样的设置,当创建文件时,会拿掉组用户的写权限和其他用户的所有权限。

上一篇下一篇

猜你喜欢

热点阅读