带有“ umask”的目录和文件之间的不同权限

Ken*_*war 3 permissions umask

为什么 umask 为我创建的目录和文件设置不同的权限 考虑:

[user@server1 ~]$ umask
0770
[user@server1 ~]$ mkdir TEST2; touch TEST2.txt;
[user@server1 ~]$ ls -l
d------rwx 2 user group_name 4096 Mar  5 05:16 TEST2
-------rw- 1 user group_name    0 Mar  5 05:16 TEST2.txt
Run Code Online (Sandbox Code Playgroud)

现在不应该的文件TEST2.txt具有权限007umask设置为0770

Hau*_*ing 6

umask 不强制执行权利,它禁止它们。看看strace:

file:
open("newfile", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
directory:
mkdir("newdir", 0777)                   = 0
Run Code Online (Sandbox Code Playgroud)

touch 不要求文件的执行权限(这是没有意义的)。