【Linux基础编程】umask命令

01、文章目录

文章目录

      • 01、文章目录
      • 02、命令介绍
      • 03、命令格式
      • 04、常用选项
      • 05、参考示例
        • 5.1 查看当前用户的权限掩码
        • 5.2 以字母的形式显示新文件的默认权限
        • 5.3 带umask开头,以数字的形式显示掩码
        • 5.4 设置当前掩码权限为0022
        • 5.5 字母法方式设置权限掩码
      • 06、总结

02、命令介绍

不知道大家熟悉不熟悉关于windows下文件夹的权限。
其实windows和Linux文件夹这些权限是十分相似的,当然其中有一些不一样,但是,这里我们不讨论。
而umask命令就是用来设置限制新建文件权限的掩码。

当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。

03、命令格式

语法格式:umask [参数] [权限掩码]

04、常用选项

-S:以字符的形式显示当前创建文件的默认权限。
-p:带umask开头以数字的形势显示当前掩码

05、参考示例

5.1 查看当前用户的权限掩码

[deng@itcast test]$ umask 
0002
[deng@itcast test]$

5.2 以字母的形式显示新文件的默认权限

[deng@itcast test]$ umask -S 
u=rwx,g=rwx,o=rx
[deng@itcast test]$ 

5.3 带umask开头,以数字的形式显示掩码

[deng@itcast test]$ umask -p
umask 0002
[deng@itcast test]$ 

5.4 设置当前掩码权限为0022

[deng@itcast test]$ umask 0022
[deng@itcast test]$ umask 
0022
[deng@itcast test]$

5.5 字母法方式设置权限掩码

[deng@itcast test]$ umask u=,g=w,o=rwx
[deng@itcast test]$ umask
0750
[deng@itcast test]$ 

Ps:

  • 利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用上面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消。
  • 应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。
  • 不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令umask u=, g=w, o=rwx,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r-----),而不是750(rwxr-x—)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限。
  • 也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644。

06、总结

最后的最后还是用一张图片来做总结吧。
【Linux基础编程】umask命令_第1张图片
相信各位已经对权限有哪些已经有一定的认识了,读、写、可执行。
版权声明:转载请注明出处,谢谢!

你可能感兴趣的:(Linux编程)