首页/系统/Linux 运维命令速查/sudoers 语法深潜:别名与 NOPASSWD
本包目录(613 条)
文件与目录76 条文本处理77 条网络命令82 条进程与作业69 条磁盘与文件系统51 条
用户与权限44 条
日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

sudoers 语法深潜:别名与 NOPASSWD

sudoers 支持 User_Alias/Host_Alias/Cmnd_Alias 组织策略:按角色授权、按命令白名单最小化;NOPASSWD 只给自动化账号。

Linux 运维命令速查系统更新于 2026-10-12
用途写出可维护的最小权限 sudo 策略
语法用户 主机=(目标用户) 命令
约束Cmnd_Alias 里命令必须绝对路径)

企业常用范式

企业常用范式
User_Alias  DEVOPS = alice, bob
Cmnd_Alias  SVC    = /usr/bin/systemctl restart app*, /usr/bin/systemctl status app*
Cmnd_Alias  BACKUP = /opt/scripts/backup.sh

DEVOPS  ALL=(root) NOPASSWD: SVC
DEVOPS  ALL=(root) BACKUP, !/opt/scripts/backup.sh *
# 默认要求输入密码;
# Defaults:DEVOPS !requiretty   # 允许非 tty(自动化)执行

校验与查看

校验与查看
sudo visudo -c               # 语法检查(改前必跑)
sudo -l -U alice             # 查看 alice 被授予的权限
命令通配符 * 可被绕开:/bin/sh -c 类入口必须显式拒绝;sudo 授权遵循「最小可用」原则。

易错点

  • 用 sed 直接改 sudoers 是高危动作:语法错误会锁死 sudo,永远用 visudo
  • 通配符授权 restarted 命令时要防参数注入(如 systemctl restart 'app; rm'),验证转义

数据来源与参考

  • man 5 sudoers
  • man 8 visudo
  • sudo 官方文档:sudoers 手册

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌