据我所知,我们使用“umask”来设置不同的安全级别:
掩码值 | 安全级别 | 有效权限(目录) |
---|---|---|
022 | 宽容的 | 第755章 |
026 | 缓和 | 第751章 |
027 | 缓和 | 750 |
077 | 严重 | 700 |
我们可以将 umask 设置为028
或任何其他值,使其包含大于“7”的数字吗?
答案1
shell 的umask
命令将权限掩码视为以 8 为基数的八进制数。与十进制(十位数字)或十六进制(十六进制)不同,基数 8 仅包含 0 到 7 的八位数字。
所以,不,你不能umask 028
在shell中使用,它没有任何意义。当然,umask只是一堆位,一个数字,它也可以用十进制或十六进制表示。例如,在 C 代码中,022
(八进制)与(十进制)相同18
,因此设置 umask 的系统调用022
可以写为umask(18)
。
但是考虑到有三个权限位 ( rwx
),并且三个位可以代表八个不同的值,八进制是表示权限位的一种相当有用的方式。
此外,考虑 umask 值对于授予其他用户的权限的含义(而不是单个单词的描述)可能会很有用。