直接在终端输入umask即可查看当前值,修改分临时和永久两种方式:临时执行umask 002等命令仅当前会话生效;永久修改需写入~/.bashrc或/etc/profile并source生效,系统级还可配置/etc/login.defs及pam模块。

直接在终端输入 umask 就能查看当前值,修改分临时和永久两种方式,关键看你要影响当前会话还是所有新登录的会话。
查看当前 umask 值
运行以下任一命令:
-
umask—— 显示八进制格式(如0022) -
umask -S—— 显示符号格式(如u=rwx,g=rx,o=rx),更直观看出哪些权限被屏蔽
临时修改(仅当前终端有效)
执行 umask 加新数值即可,退出或新开终端后恢复原值:
-
umask 002→ 新建文件为664,目录为775(适合组内协作) -
umask 077→ 新建文件为600,目录为700(最严格,仅属主可访问) -
umask 027→ 文件640,目录750(属主+组可读,其他无权)
永久修改(对后续登录生效)
把 umask 命令写入 Shell 配置文件,推荐优先改用户级配置:
- 编辑
~/.bashrc(Bash 用户)或~/.zshrc(Zsh 用户) - 在文件末尾添加一行,例如:
umask 002 - 保存后运行
source ~/.bashrc立即生效,或重新登录
如需全系统生效,可编辑 /etc/profile 或 /etc/bash.bashrc,但需 root 权限,且建议先备份。
注意系统级默认行为
某些发行版(如 Ubuntu)还通过 /etc/login.defs 中的 UMASK 行控制新用户的初始 umask,该设置只影响新建用户,不影响已有用户配置。若修改了这里,还需确认 PAM 模块已启用(/etc/pam.d/common-session 包含 pam_umask.so)。











