r-x
我想设置新创建的目录的默认权限其他的以及那些新创建的文件(非目录文件)具有---
.
如果我将 umask 设置为 2,则获得目录权限,r-x
但获得文件权限r--
。
我找不到任何方法来实现我想要的umask
。
最终,我想要其他的能够遍历目录但不能读取文件的内容。我认为这是一个非常合理的要求,但最终似乎没有这样的设置。
答案1
如果您仅在 shell 提示符下使用命令创建目录mkdir
,则可以:
umask 7
mkdir() (umask 2 && command mkdir "$@")
在您的 shell 自定义文件中(~/.zshrc
for zsh
、~/.bashrc
for bash
...)。
即将 umask 设置为 7,但重新定义mkdir
为调用实数的函数mkdir
(使用相同的参数 ( "$@"
)),umask 为 2。(请注意,(...)
创建一个子 shell,因此umask 2
仅在该函数内应用)。