做什么

设定新建文件 / 目录的"权限掩码"——从满权限里减去这些位

文件默认 = 666 - umask
目录默认 = 777 - umask

看 / 设

umask                 # 看当前(如 0022)
umask 027             # 改

# 0022 → 新文件 = 666 - 022 = 644 = rw-r--r--
# 0022 → 新目录 = 777 - 022 = 755 = rwxr-xr-x

# 0027 → 新文件 = 640 = rw-r-----(组只读、其他人无)
# 0027 → 新目录 = 750

常见值

umask 文件 目录 含义
022 644 755 默认(多数 Linux 系统)
027 640 750 较严格(生产推荐)
077 600 700 个人私密
002 664 775 协作团队

持久化

# 个人改自己
echo "umask 027" >> ~/.bashrc

# 系统改默认
sudo vim /etc/profile           # 加 umask 027

  • umask 是 shell 内置,每个 shell 有自己的——开新 terminal 要重新读 .bashrc
  • umask 不影响已存在的文件——只影响之后新建
  • root 的默认 umask 通常是 022——可能让新建的系统文件权限不严,敏感场景要调