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

Linux运维中权限分级和最小化不是可选项,而是安全底线。核心原则是:每个用户、服务或脚本只拥有完成其任务所必需的最低权限,不多不少。
用户账号按角色严格隔离
避免长期使用root或sudo-all账户操作。应为不同职责创建专用系统用户,例如:
- deploy:仅能执行预定义部署脚本(通过sudoers限制命令路径和参数)
- backup:仅可读取指定目录、调用rsync/tar,禁止shell交互
- monitor:只读访问/proc、/sys、日志目录,禁用写入和进程控制
创建时禁用密码登录,强制使用SSH密钥,并设置nologin或rbash限制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-data、redis)
- 用ProtectSystem=strict、ProtectHome=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快速定位异常可写文件。









