侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux umask命令详解:如何设置和查看文件模式创建掩码(附实例)

Linux umask命令介绍

umask是一个用于设置或查看当前进程的文件模式创建掩码(file mode creation mask)的工具。文件模式创建掩码决定了新创建的文件或目录的权限位。umask会被open(2)、mkdir(2)等创建文件的系统调用使用,以修改新创建的文件或目录的权限。

Linux umask命令适用的Linux版本

umask命令在大多数Linux发行版中都是可用的,包括Ubuntu、Debian、Fedora、CentOS、Red Hat等。如果某些Linux系统没有安装umask命令,可以尝试使用以下命令安装:

  • 对于使用apt-get的系统,如Ubuntu、Debian等:
[linux@bashcommandnotfound.cn ~]$ sudo apt-get update
[linux@bashcommandnotfound.cn ~]$ sudo apt-get install coreutils
  • 对于使用yum的系统,如CentOS、Red Hat等:
[linux@bashcommandnotfound.cn ~]$ sudo yum update
[linux@bashcommandnotfound.cn ~]$ sudo yum install coreutils
  • 对于使用dnf的系统,如Fedora等:
[linux@bashcommandnotfound.cn ~]$ sudo dnf update
[linux@bashcommandnotfound.cn ~]$ sudo dnf install coreutils

Linux umask命令的基本语法

umask命令的语法格式如下:

umask [-S] [mode]

其中,-S选项表示以符号形式显示或设置umask值,mode参数表示要设置的umask值,可以是八进制或符号形式。如果没有指定mode参数,则表示显示当前的umask值。

Linux umask命令的常用选项说明

umask命令只有一个选项,即-S,它的作用是以符号形式显示或设置umask值。符号形式的umask值由三个字母组成,分别表示用户(u)、组(g)和其他(o),后面跟着一个操作符(+、-或=)和一个或多个权限字母(r、w或x)。符号形式的umask值的含义如下:

  • u+rw表示用户不拥有读和写权限。
  • g-wx表示组不拥有写和执行权限。
  • o-rwx表示其他不拥有任何权限。

Linux umask命令的实例
以下是一些使用umask命令的实例:

  • 显示当前的umask值(八进制形式):
[linux@bashcommandnotfound.cn ~]$ umask
0022
  • 显示当前的umask值(符号形式):
[linux@bashcommandnotfound.cn ~]$ umask -S
u=rwx,g=rx,o=rx
  • 设置umask值为0000(八进制形式),表示新创建的文件或目录的权限为777(rwxrwxrwx):
[linux@bashcommandnotfound.cn ~]$ umask 0000
  • 设置umask值为u+rw,g-wx,o-rwx(符号形式),表示新创建的文件或目录的权限为644(rw-r--r--):
[linux@bashcommandnotfound.cn ~]$ umask u+rw,g-wx,o-rwx
  • 创建一个名为test.txt的文件,查看其权限:
[linux@bashcommandnotfound.cn ~]$ touch test.txt
[linux@bashcommandnotfound.cn ~]$ ls -l test.txt
-rw-r--r-- 1 linux linux 0 Nov 10 11:18 test.txt
  • 创建一个名为test的目录,查看其权限:
[linux@bashcommandnotfound.cn ~]$ mkdir test
[linux@bashcommandnotfound.cn ~]$ ls -ld test
drwxr-xr-x 2 linux linux 4096 Nov 10 11:19 test

Linux umask命令的注意事项

  • umask命令只影响当前进程及其子进程,不影响其他进程或系统的默认umask值。
  • umask命令只能减少新创建的文件或目录的权限,不能增加。例如,如果设置umask值为0000,那么新创建的文件的权限为666(rw-rw-rw-),而不是777(rwxrwxrwx),因为文件的默认权限是666,而目录的默认权限是777。
  • umask命令的八进制形式和符号形式的转换方法是:将八进制值的每一位用7减去,得到的结果就是符号形式的权限字母。例如,0022的八进制形式对应的符号形式是u=rwx,g=rx,o=rx,因为7-0=7(rwx),7-2=5(rx),7-2=5(rx)。
0

评论区