You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

53 lines
2.5 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

umask
===
用来设置限制新建文件权限的掩码
## 补充说明
**umask命令** 用来设置限制新建文件权限的掩码。当新文件被创建时其最初的权限由文件创建掩码决定。用户每次注册进入系统时umask命令都被执行 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值新的权限将会把旧的覆盖掉。
### 语法
```
umask(选项)(参数)
```
### 选项
```
-p输出的权限掩码可直接作为指令来执行
-S以符号方式输出权限掩码。
```
### 参数
权限掩码:指定权限掩码。
### 实例
利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如可以使用下面的命令创建掩码使得组用户的写权限其他用户的读、写和执行权限都被取消
```
umask u=, g=w, o=rwx
```
执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。
应注意:操作符“=”在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。
可以使用下面的命令检查新创建文件的默认权限:
```
umask -s
```
选项-s表示以字符形式显示当前的掩码。如果直接输入umask命令不带任何参数那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。
<!-- Linux命令行搜索引擎https://jaywcjlove.github.io/linux-command/ -->