Linux 中的 sudoers

如果希望非 root 用户可以执行需要 root 权限的命令,可以将命令加入到 /etc/sudoers,然后通过 sudo cmd 执行

sudoers 内容的格式如下

授权用户/组 主机=[(切换到哪些用户或组)] [是否需要输入密码验证] 命令1, [(切换到哪些用户或组)] [是否需要输入密码验证] 命令2, ...
  • 授权用户/组:以 % 开头表示要授权的组,比如 %admin 表示授权给 admin 组,不以 % 开头表示要授权的用户,比如 spark 表示授权给 spark 用户
  • 主机:表示允许登陆的主机,ALL 表示所有主机
  • [(切换到哪些用户或组)]:如果省略,相当于 (root:root),如果为 (ALL) 或者 (ALL:ALL),表示能够提权到(任意用户:任意用户组)
  • [是否需要输入密码验证]:默认需要密码,如果要免密码,填 NOPASSWD:,注意 NOPASSWD 后面要带冒号
  • 命令:允许 sudo 执行的命令,使用全路径,ALL 表示可以执行所有命令

例子

%admin ALL=(ALL) ALL
%admin mycomputer = (root:root) NOPASSWD: ALL
spark ALL = ALL
spark ALL = NOPASSWD: /etc/init.d/apache2
spark ALL = /etc/init.d/apache2, (root:root) NOPASSWD: /etc/init.d/docker


原文地址:https://www.cnblogs.com/moonlight-lin/p/13694055.html