我试图更好地理解权限,所以我正在做一些“练习”。这是我在各自的输出中使用的一系列命令:
$ umask
0022
$ touch file1
$ ls -l file1
-rw-r--r-- 1 user group 0 Mar 16 12:55 file1
$ mkdir dir1
$ ls -ld dir1
drwxr-xr-x 2 user group 4096 Mar 16 12:55 dir1
Run Code Online (Sandbox Code Playgroud)
这是有道理的,因为我们知道默认文件权限是666
( rw-rw-rw-
),目录默认权限是777
( rwxrwxrwx
)。如果我从这些默认权限中减去 umask 值,我拥有
666-022=644
, rw-r--r--
, for the file1
,所以它与之前的输出一致;
777-022=755
, rwx-r-x-r-x
, 对于dir1
, 也是相干的。
但是,如果我将 umask 从 更改022
为021
,则不再存在。
以下是该文件的示例:
$ umask 0021
$ touch file2
$ ls …
Run Code Online (Sandbox Code Playgroud)