Skip to content

Commit 1a3ba1f

Browse files
authored
Merge pull request jaywcjlove#44 from rgshare/patch-1
umask命令使用有误
2 parents f8a9e47 + 2a7ff41 commit 1a3ba1f

File tree

1 file changed

+53
-53
lines changed

1 file changed

+53
-53
lines changed

command/umask.md

Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,53 @@
1-
umask
2-
===
3-
4-
用来设置限制新建文件权限的掩码
5-
6-
## 补充说明
7-
8-
**umask命令** 用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。
9-
10-
### 语法
11-
12-
```
13-
umask(选项)(参数)
14-
```
15-
16-
### 选项
17-
18-
```
19-
-p:输出的权限掩码可直接作为指令来执行;
20-
-S:以符号方式输出权限掩码。
21-
```
22-
23-
### 参数
24-
25-
权限掩码:指定权限掩码。
26-
27-
### 实例
28-
29-
利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用下面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消:
30-
31-
```
32-
umask u=, g=w, o=rwx
33-
34-
```
35-
36-
执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。
37-
38-
应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。
39-
40-
不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令`umask u=, g=w, o=rwx`,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r-----),而不是750(rwxr-x---)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限。
41-
42-
也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644。
43-
44-
可以使用下面的命令检查新创建文件的默认权限:
45-
46-
```
47-
umask -s
48-
```
49-
50-
选项-s表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。
51-
52-
53-
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->
1+
umask
2+
===
3+
4+
用来设置限制新建文件权限的掩码
5+
6+
## 补充说明
7+
8+
**umask命令** 用来设置限制新建文件权限的掩码。当新文件被创建时,其最初的权限由文件创建掩码决定。用户每次注册进入系统时,umask命令都被执行, 并自动设置掩码mode来限制新文件的权限。用户可以通过再次执行umask命令来改变默认值,新的权限将会把旧的覆盖掉。
9+
10+
### 语法
11+
12+
```
13+
umask(选项)(参数)
14+
```
15+
16+
### 选项
17+
18+
```
19+
-p:输出的权限掩码可直接作为指令来执行;
20+
-S:以符号方式输出权限掩码。
21+
```
22+
23+
### 参数
24+
25+
权限掩码:指定权限掩码。
26+
27+
### 实例
28+
29+
利用umask命令可以指定哪些权限将在新文件的默认权限中被删除。例如,可以使用下面的命令创建掩码,使得组用户的写权限,其他用户的读、写和执行权限都被取消:
30+
31+
```
32+
umask u=, g=w, o=rwx
33+
34+
```
35+
36+
执行该命令以后,对于下面创建的新文件,其文件主的权限未做任何改变,而组用户没有写权限,其他用户的所有权限都被取消。
37+
38+
应注意:操作符“=”在umask命令和chmod命令中的作用恰恰相反。在chmod命令中,利用它来设置指定的权限,而其余权限则被删除;但是在umask命令中,它将在原有权限的基础上删除指定的权限。
39+
40+
不能直接利用umask命令创建一个可执行的文件,用户只能在其后利用chmod命令使它具有执行权限。假设执行了命令`umask u=, g=w, o=rwx`,虽然在命令行中,没有删去文件主和组用户的执行权限,但默认的文件权限还是640(即 rw-r-----),而不是750(rwxr-x---)。但是,如果创建的是目录或者通过编译程序创建的一个可执行文件,将不受此限制。在这种情况 下,会设置文件的执行权限。
41+
42+
也可以使用八进制数值来设置mode。由于在umask中所指定的权限是要从文件中删除的,所以,如果该文件原来的初始化权限是777,那么执行命令umask 022以后,该文件的权限将变为755:如果该文件原来的初始化权限是666,那么该文件的权限将变为644。
43+
44+
可以使用下面的命令检查新创建文件的默认权限:
45+
46+
```
47+
umask -S
48+
```
49+
50+
选项-S表示以字符形式显示当前的掩码。如果直接输入umask命令,不带任何参数,那么将以八进制形式显示当前的掩码。系统默认的掩码是0022。
51+
52+
53+
<!-- Linux命令行搜索引擎:https://jaywcjlove.github.io/linux-command/ -->

0 commit comments

Comments
 (0)