做什么
设定新建文件 / 目录的"权限掩码"——从满权限里减去这些位。
文件默认 = 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——可能让新建的系统文件权限不严,敏感场景要调