为什么 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
具有权限007
的umask
设置为0770
?
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 不要求文件的执行权限(这是没有意义的)。