新创建文件的最高初始权限固定为666(rw-rw-rw-),无执行位;实际权限=666−umask(八进制减法),且系统强制清除所有x位,确保普通文件永不默认可执行。
新创建文件的最高初始权限不是直接设定的,而是由系统内置规则决定的:默认最大权限是 666(即 rw-rw-rw-)
,且无论 umask 是多少,这个起点不会变。
这个值代表所有用户(属主、属组、其他人)都有读和写权限,但没有执行权限(x)
。这是出于安全考虑——普通文件通常不应默认可执行,避免误运行或潜在风险。
Umask 的作用,是从这个 666 中“屏蔽掉”对应权限位。计算方式是:文件实际权限 = 666 − umask(按位减,等效于八进制减法)
注意:即使计算结果中出现了 x 位(比如 umask=000 时得 666),系统也会自动清除所有 x 位,确保新建普通文件永远不带执行权限。所以哪怕 umask 是 000,最终仍是 666(rw-rw-rw-),不会变成 777。
CentOS Linux 7.9.2009 CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离线兼容性测试。
下载
常见例子:
umask 022 → 666 − 022 = 644 → rw-r--r--umask 002 → 666 − 002 = 664 → rw-rw-r--umask 077 → 666 − 077 = 600 → rw-------查看当前 umask 值,终端运行:umask—— 显示八进制值(如 0022)
umask -S—— 显示符号形式(如 u=rw,g=r,o=r)
要临时修改,运行umask 002;想永久生效,把该行加到~/.bashrc或/etc/profile中。
