小智 7
umask
在bash
. 你可以做的一件事是创建一个mkdir
包装器(一个脚本,你给它命名),它会在执行后改变掩码。
#!/bin/bash
umask 0701 ; /path/to/real/mkdir $1 ; umask 0604
Run Code Online (Sandbox Code Playgroud)
这是在这里回答:
请记住:对于目录,基本权限是 ( rwxrwxrwx
)0777
而对于文件它们是0666
,这意味着即使 umask 允许,您也不会在 shell 内获得对文件创建的执行权限。这样做显然是为了提高新文件创建的安全性。
例子:
[admin@host test]$ pwd
/home/admin/test
[admin@host test]$ umask
0002
[admin@host test]$ mkdir test
[admin@host test]$ touch test_file
[admin@host test]$ ls -l
total 4
drwxrwxr-x 2 admin admin 4096 Jan 13 14:53 test
-rw-rw-r-- 1 admin admin 0 Jan 13 14:53 test_file
Run Code Online (Sandbox Code Playgroud)
umask
Unix 规范对此文件权限数学细节一无所知。由 shell 开发人员(和操作系统制造商)决定。