umask 决定什么
umask 决定新建文件与目录的默认权限,系统默认值通常写在 shell 初始化文件与 login.defs 里。值为 022 时新建文件是 644,同组用户可写,配合共享目录容易出现越权修改;生产服务器通常收敛到 027 或更严。核查要看实际生效值,只看配置文件写了什么并不可靠。
基本信息
| 加固项 | 默认权限收敛 |
|---|---|
| 适用平台 | Linux |
| 目标取值 | 027 或更严 |
| 配置位置 | /etc/profile、/etc/bashrc、/etc/profile.d/、/etc/login.defs |
| 判读口径 | 以实际登录会话的输出为准 |
| 风险等级 | 低 |
典型使用场景
- 主机基线核查:确认默认权限满足安全要求
- 共享目录环境:避免同组用户误改或覆盖他人文件
- 应用账号评估:确认服务生成的文件与日志权限符合要求
- 整改验收:改完新建文件确认权限真的变了
- 新建系统交付:把 umask 纳入基线镜像配置
核查与验证
核查与验证
# 查看配置文件中的 umask 写法
grep -R 'umask' /etc/profile /etc/bashrc /etc/profile.d/ /etc/login.defs 2>/dev/null | head
# 实际生效值抽查(以目标用户登录后为准)
su - appuser -c umask 2>/dev/null
# 当前会话的符号视图
umask -S
# 闭环验证:新建文件与目录后观察权限
touch /tmp/umask-test && mkdir -p /tmp/umask-dir && ls -ld /tmp/umask-test /tmp/umask-dir取值与默认权限
| umask | 新建文件 | 新建目录 |
|---|---|---|
| 022 | 644(同组可写) | 755 |
| 027 | 640 | 750 |
| 077 | 600 | 700 |
| 002 | 664(同组可写) | 775 |
不同 shell 的初始化链会互相覆盖,以实际会话抽查为准,配置文件里写了不代表最终生效。
服务账号的 umask 影响应用生成的文件与日志权限,需要按应用要求单独评估,不能一刀切。
收敛 umask 后,依赖同组写权限的运维脚本会出现权限不足的报错,先盘点共享写入场景再改。
用户可在自己的 shell 配置里覆盖系统默认值,安全基线只保证登录时的初始值,个别账号的改动需要单独抽查。
落地检查点
- 逐个会话类型抽查实际值:交互登录、su 切换、计划任务
- 确认配置链上的写法一致,避免前后互相覆盖
- 整改后新建文件与目录各验证一次权限
- 把服务账号的 umask 需求单独记录,不与通用基线混在一起