美文网首页每天写500字每周500字每天写1000字
linux命令行学习(28):掩码命令umask

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

作者: 金石明镜 | 来源:发表于2019-10-28 09:34 被阅读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。这样的设置,当创建文件时,会拿掉组用户的写权限和其他用户的所有权限。

    相关文章

      网友评论

        本文标题:linux命令行学习(28):掩码命令umask

        本文链接:https://www.haomeiwen.com/subject/zbyvvctx.html