一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Linux umask 默认权限全局安全设置指南

时间:2026-07-08 09:37:46 编辑:袖梨 来源:一聚教程网

Linux umask全局安全设置核心是屏蔽不必要权限而非加锁,生产环境推荐027(组可读执行、其他无权)或077(仅属主可访问),需优先配置/etc/login.defs中UMASK值,并通过PAM在common-session或system-auth中启用pam_umask.so实现全路径生效,最后验证新建文件权限并修复已有文件权限。

Linux umask 全局安全设置,核心是统一屏蔽不必要权限,而不是给文件“加锁”。生产环境推荐用 027077,前者适合需组内协作但隔离外部的场景,后者用于密钥、数据库等高敏账户,确保其他用户完全无访问权。

优先改 /etc/login.defs 控制新用户默认值

该文件决定 useradd 创建新用户时的初始 umask,影响所有未来账号:

  • 编辑 /etc/login.defs,确保存在未注释行:UMASK 027(或 UMASK 077
  • 此设置只对新创建用户生效;已有用户需重新登录才继承
  • 配合 USERGROUPS_ENAB yes,保障私有用户组机制正常运作

必须配 PAM 实现全路径生效

/etc/login.defs 不覆盖 su、sudo、cron 等非标准登录方式,PAM 才是真正兜底方案:

  • Debian/Ubuntu:编辑 /etc/pam.d/common-session,追加
    session optional pam_umask.so umask=0027
  • RHEL/CentOS:编辑 /etc/pam.d/system-auth,在 session 段添加同上行
  • Ubuntu 若提示模块缺失,先安装 libpam-umask
  • PAM 设置对 systemd 用户服务、SSH、图形登录均有效,且影响 cron 脚本启动的子 shell

验证不能只看 umask 命令

运行 umask 只显示当前会话值,不代表新建文件真实权限。必须实测创建行为:

  • 新开干净终端(如 SSH 重连),执行:
    umask && touch testf && mkdir testd && ls -ld testf testd
  • umask 027 应得:
    −rw−r−−−−(640)和 drwxr−x−−−(750)
  • umask 077 应得:
    −rw−−−−−−(600)和 drwx−−−−−−(700)

补漏:修复已有文件与家目录权限

umask 只管“新建”,已有敏感内容需手动收紧:

  • 家目录本身:执行 chmod 700 /home/用户名
  • 关键隐藏文件:
    chmod 600 ~/.bash_history ~/.ssh/authorized_keys
    chmod 700 ~/.ssh ~/.gnupg
  • 系统关键文件:
    /etc/shadow 和 /etc/gshadow 必须为 600;/etc/passwd、/etc/group 保持 644 即可

热门栏目