Linux中的umask命令图文示例

Linux和Unix操作系统上,所有新文件都使用一组默认权限创建。 umask实用程序允许您查看或设置文件模式创建掩码,该掩码确定新创建的文件或目录的权限。

mkdir、touch、tee和其他创建新文件和目录的命令都使用它。

Linux中的umask命令图文示例

Linux权限

在进一步讨论之前,让我们简要介绍一下Linux权限模式。

在Linux中,每个文件都与一个所有者和一个组相关联,并为三个不同类别的用户分配了访问权限:

文件所有者。

组成员。

其他用户。

有三种权限类型适用于每个类:

读取权限。

写权限。

执行权限。

此概念允许您指定允许哪些用户读取文件,写入文件或执行文件。

要查看文件权限,请使用ls命令:

linuxidc@linuxidc:~/www.linuxidc.com$ ls -l linuxidc.com.py

输出示例:

Linux中的umask命令图文示例

-rw-r--r-- 1 linuxidc linuxidc 53 Jul 15 03:18 linuxidc.com.py |[-][-][-] [------] [---] | | | | | | | | | | | +-----------> 组 | | | | +-------------------> 所有者 | | | +----------------------------> 其他权限 | | +-------------------------------> 组权限 | +----------------------------------> 所有者权限 +------------------------------------> 文件类型

先详细描述第一行其中每项代表的含义:
-rw-r–r–
1) 第一个字符表示文件类型,可以是常规文件(-)、目录(d)、符号链接(l)或任何其他特殊类型的文件。接下来的9个字符代表权限,每组3个字符。第一组显示所有者权限,第二组显示组权限,最后一组显示所有其他人的权限。
2)rw-表示可读可写,代表所有者u的权限。
3)第一个r–表示可读,代表所属组g的权限(相同权限的人放在一起就是一组);第二个r–表示可读,代表其他人o的权限。
r 读 w 写 x 执行
数字2表示该文件被调用次数
第一个linuxidc表示所有者u
第二个linuxidc表示所属组g,在这里表示和root一个组的其他用户
53是文件大小,单位是字节(byte)
Jul 15 03:18表示文件最后一次修改时间
linuxidc.com.py是文件名

还有另外三种特殊的文件权限类型:setuid、setgid和Sticky Bit。

如果我们使用数字表示法表示文件权限,我们将得到数字644:

所有者: rw- = 4+2+0 = 6

组: r-- = 4+0+0 = 4

其他人: r-- = 4+0+0 = 4

以数字表示法表示时,权限可以有三个或四个八进制数字(0-7)。第一个数字表示特殊权限,如果省略则表示没有为文件设置特殊权限。

可以使用chown命令使用chmod命令和所有权更改文件权限。

了解umask

默认情况下,在Linux系统上,文件的默认创建权限是666,它为用户、组和其他用户提供读和写权限;目录的默认创建权限是777,这意味着对用户、组和其他用户具有读、写和执行权限。Linux不允许创建具有执行权限的文件。

可以使用umask实用程序修改默认的创建权限。

umask只影响当前的shell环境。在大多数Linux发行版上,默认的系统范围umask值是在pam_umask.so 或 /etc/profile 文件中设置的。

如果希望根据每个用户指定不同的值,请编辑用户的shell配置文件,例如~/.bashrc 或 ~/.zshrc。(您还可以通过运行umask后面跟着所需的值来更改当前会话umask值。

要查看当前掩码值,只需输入umask,不带任何参数:

linuxidc@linuxidc:~/www.linuxidc.com$ umask

输出示例:

0022

Linux中的umask命令图文示例

第一个 0 表示的是特殊权限位,对 umask 来说,有效的设定值只有后三位数。

正如我们已经提到的,文件的默认创建权限是666和目录777。要计算新文件的权限,请从默认值中减去umask值。

例如,要计算unask 022将如何影响新创建的文件和目录,请使用:

文件:666  -  022 = 644。所有者可以读取和修改文件。 组和其他人只能读取文件。

目录:777  -  022 = 755。所有者可以进入目录并列出读取,修改,创建或删除目录中的文件。 组和其他人可以进入目录并列出并读取文件。

您还可以使用-S选项以符号表示法显示掩码值:

linuxidc@linuxidc:~/www.linuxidc.com$ umask -S

输出示例:

u=rwx,g=rx,o=rx

Linux中的umask命令图文示例

与数字表示法不同,符号表示法值包含将在新创建的文件和目录上设置的权限。

设置掩码值

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/11911.html