Sudoers 命令

Sudoers 命令

我不明白这两个命令的区别

USER ALL=(ALL) NOPASSWD: ALLUSER ALL=(OTHERUSER) NOPASSWD: ALL

有人能解释一下 () 的变化吗?谢谢

答案1

man 5 sudoers

用户规范的基本结构是who where = (as_whom) what

保留字ALL是一个内置别名,它总是导致匹配成功。

就您而言,区别在于(as_whom)领域:

  • (ALL)意味着可以USER以任何用户身份运行命令。

  • (OTHERUSER)意味着可以以USER如下方式运行命令OTHERUSER(例如sudo -u OTHERUSER whoami)。

    注意,这并不意味着USER不能以 的形式运行命令YETANOTHERUSER。如果USER尝试以 的形式运行某些命令,则YETANOTHERUSER中的行将(OTHERUSER)不匹配,解析器将继续;后面的某行可能会匹配。

相关内容