• Linux 命令


    umask 命令控制着创建文件时指定给文件的默认权限。它使用八进制表示法从文件模式属性中删除一个位掩码。

    参见下面的例子:

    [huey@huey-K42JE cmdline]$ rm -f foo.txt
    [huey@huey-K42JE cmdline]$ umask 
    0002
    [huey@huey-K42JE cmdline]$ touch foo.txt
    [huey@huey-K42JE cmdline]$ ls -l foo.txt
    -rw-rw-r-- 1 ucm ucm 0 Oct  3 17:32 foo.txt

    首先,删除 foo.txt 文件存在的所有副本,以保证一切都是重新开始。下一步,允许不带任何参数的 umask 命令,查看当前掩码值,得到的值是 0002(0022 是另一个常用的默认值),它是掩码的八进制表示形式。接着创建文件 foo.txt 的一个新实例,查看该文件的权限。

    可以发现,文件所有者和组都获得了读写权限,而其他所有用户则只读权限。其他所有用户没有写权限的原因在于掩码值。重复执行该实例,不过这次是自己设置掩码值。

    [huey@huey-K42JE cmdline]$ rm -f foo.txt
    [huey@huey-K42JE cmdline]$ umask 0000
    [huey@huey-K42JE cmdline]$ touch foo.txt
    [huey@huey-K42JE cmdline]$ ls -l foo.txt 
    -rw-rw-rw- 1 ucm ucm 0 Oct  3 17:38 foo.txt

    在设置掩码为 0000(实际上是关闭该功能)时,可以看到其他所有用户也拥有写权限了。为了理解它是如何实现的,再来看看八进制数。如果把改掩码展开成二进制形式,然后再与属性进行对比,那么就能明白是怎么回事了。

     原始文件模式   ---    rw-    rw-    rw-  
     掩码 000    000     000     010
     结果  ---    rw-    rw-    r--

    在设置掩码为 0000(实际上是关闭该功能)时,可以看到其他所有用户也拥有写权限了。为了理解它是如何实现的,再来看看八进制数。如果把改掩码展开成二进制形式,然后再与属性进行对比,那么就能明白是怎么回事了。

    先忽略掉掩码中前面的 0,观察掩码中出现 1 的地方,将会发现 1 的位置对应的属性被删除——在这个例子中对应的是其他所有用户的写权限。这就是掩码的操作方式。掩码的二进制数值中每个出现 1 的位置,其对应的属性都被取消。如果设置掩码值为 0022 那么具体操作如下。

     原始文件模式   ---    rw-    rw-    rw-  
     掩码 000    000     010     010
     结果  ---    rw-    r--    r--

    同样地,二进制数值中 1 出现的位置,其对应的属性都被取消。可以再试一下其他的掩码值(尝试一些带数字 7 的),以熟悉掩码的操作方式。记得每次操作完之后清理文件,并把掩码值还原成默认值。

    [huey@huey-K42JE cmdline]$ rm -f foo.txt; umask 0002

    大多数情况下,并不需要修改掩码值,系统提供的默认掩码值就很好了。然而,在一些高安全级别的环境下,则需要控制掩码值。

    命令格式

    umask [-p] [-S] [mode]

    命令参数

    -p
      如果 mode 省略了,则以可复用的形式输出当前的掩码值。
    -S
      以字符的形式显示当前的掩码值。

    实例

    a) 以字符的形式显示当前的掩码值。

    [huey@huey-K42JE cmdline]$ umask -S
    u=rwx,g=rwx,o=rx
  • 相关阅读:
    免费馅饼(HDU 1176 DP)
    搬寝室(HDU 1421 DP)
    FatMouse's Speed(HDU LIS)
    Bone Collector II(HDU 2639 DP)
    Palindrome(POJ 1159 DP)
    Proud Merchants(POJ 3466 01背包+排序)
    树的最大独立集
    Roads in the North(POJ 2631 DFS)
    Starship Troopers(HDU 1011 树形DP)
    Strategic game(POJ 1463 树形DP)
  • 原文地址:https://www.cnblogs.com/huey/p/4853668.html
Copyright © 2020-2023  润新知