umask值通过umask命令查看,如0022;临时修改仅当前会话有效,永久修改需写入~/.bashrc或/etc/profile.d/等配置文件并重载,其作用是按位屏蔽目录777、文件666的默认权限。

直接在终端输入 umask 就能查看当前会话的 umask 值,比如输出 0022 或 0002。修改分临时和永久两种方式,关键看是否需要下次登录还生效。
查看当前 umask 值
运行命令即可:
-
umask—— 显示当前 shell 会话的 umask(八进制,通常为 4 位,如0022;前导 0 表示八进制,实际起作用的是后三位) - 若想更清晰地看到权限含义,可加
-S参数:umask -S,它会以符号形式显示,例如u=rwx,g=rx,o=rx
临时修改 umask(仅当前终端有效)
适合测试或单次任务,关闭终端即失效:
- 设为
002(协作环境常用):umask 002→ 新建文件权限为664,目录为775 - 设为
027(限制组外访问):umask 027→ 文件640,目录750 - 设为
077(最严格,仅属主可读写):umask 077→ 文件600,目录700
永久修改 umask(对新登录会话生效)
需写入 Shell 初始化文件,并重新加载:
- 普通用户推荐编辑
~/.bashrc(Bash 默认)或~/.profile:echo "umask 002" >> ~/.bashrc
然后执行source ~/.bashrc生效 - 如需所有用户统一生效(需 root 权限),可编辑系统级文件:
/etc/profile或/etc/bash.bashrc
更稳妥的做法是新建/etc/profile.d/custom-umask.sh,写入umask 022并赋予可执行权限 - 注意:修改后新开终端才体现效果;已存在的终端仍保持原 umask
umask 值怎么影响新建文件/目录权限
不是简单做减法,而是“屏蔽”对应位权限:
- 目录默认最大权限是
777(rwxrwxrwx),文件是666(rw-rw-rw-),且文件默认不带 x 权限 - umask
022表示:属主不变,属组去掉写(w),其他用户也去掉写(w)→ 目录得755,文件得644 - umask
007表示:属主、属组不变,其他用户去掉全部权限(rwx)→ 目录770,文件660











