umask 总是让我绊倒。从逻辑上讲,我更喜欢使用 'setmask' 而不是采用 chmod 样式的参数。有谁知道为什么会这样?
我相信这源于两个想法,尽管我可能是错的。
最初在 UNIX 中开发权限是完全开放的。在安全时代之前,让文件只能由某些人可读/可写/可执行的想法是没有必要的。因此,从这个角度来看,自然的进展是采用权限的概念,并限制它们。而不是取 0 值的权限并添加到其中。
另一个原因是,在大多数情况下,特定的拒绝会比指定的允许产生更准确的结果。不同的情况有不同的需求。例如,默认目录权限是:755
默认文件权限是644
例如,如果您特别允许执行,则必须转换为目录和文件。然后,您将面临选择,要么目录不启用执行,要么文件启用。但是,目录需要启用执行才能发挥作用。因此,您可以选择删除额外的权限,而不是专门添加权限。
使用 umask 0000
,您最终仍然没有对普通文件的执行权限,如果您做相反的事情,那么以这种方式设计它会更困难。
归档时间: |
|
查看次数: |
843 次 |
最近记录: |