Linux运维权限分级_权限最小化实践

5次阅读

linux 运维权限管理必须遵循最小化原则:按角色隔离用户、sudo 精确到命令与参数、服务降权运行、文件目录权限严格收敛。

Linux 运维权限分级_权限最小化实践

Linux 运维中权限分级和最小化不是可选项,而是安全底线。核心原则是:每个用户、服务或脚本只拥有完成其任务所必需的最低权限,不多不少。

用户账号按角色严格隔离

避免长期使用 root 或 sudo-all 账户操作。应为不同职责创建专用系统用户,例如:

  • deploy:仅能执行预定义部署脚本(通过 sudoers 限制命令路径和参数)
  • backup:仅可读取指定目录、调用 rsync/tar,禁止 shell 交互
  • monitor:只读访问 /proc、/sys、日志目录,禁用写入和进程控制

创建时禁用密码登录,强制使用 SSH 密钥,并设置 nologinrbash限制 shell 能力。

sudo 权限精确到命令与参数

/etc/sudoers 中避免使用ALL=(ALL) ALL。应明确限定:

  • 允许运行的绝对路径(如/usr/bin/systemctl restart nginx
  • 禁止通配符和 shell 转义(用 !/bin/sh!/usr/bin/perl 显式拒绝)
  • 对高危命令加 NOPASSWD 但限定目标用户(如deploy ALL=(nginx) NOPASSWD: /bin/systemctl reload nginx

服务进程降权运行

系统服务默认不应以 root 启动。通过 systemd unit 文件控制:

  • 设置 User=Group=为非特权用户(如www-dataredis
  • ProtectSystem=strictProtectHome=true 限制文件系统访问
  • 敏感服务(如数据库)禁用 Capabilities=CAP_SYS_ADMIN 等冗余能力

检查方式:systemctl show –property=User,Group,ProtectSystem service-name

文件与目录权限收敛到最小集合

定期审计关键路径,确保:

  • /etc/sudoers/etc/shadow权限为640,属组仅限root:wheel
  • 应用配置目录(如/etc/myapp/)属主为服务用户,权限750,不开放 group 写
  • 日志轮转脚本、crontab 条目使用专用低权用户,而非 root crontab

自动化检查可用 find /etc -type f -perm /o+w 快速定位异常可写文件。

text=ZqhQzanResources