有人可以解释一下什么是“ALL=(ALL) NOPASSWD:ALL` 在 sudoers 文件中做什么?

有人可以解释一下什么是“ALL=(ALL) NOPASSWD:ALL` 在 sudoers 文件中做什么?

我知道上面那行允许<user>运行 sudo 命令而无需输入密码。但是语法实际上是什么意思?如果你能链接到一篇文章那就好了。谢谢

答案1

人 sudoers

默认情况下,sudo 要求用户在运行命令之前进行身份验证。此行为可以通过 NOPASSWD 标记进行修改

因此用户或组无需身份验证即可运行 sudo。这会造成很大的安全风险,因此使用此命令时要非常小心。

另请检查https://askubuntu.com/questions/334318/sudoers-file-enable-nopasswd-for-user-all-commands

答案2

手册sudoers页对此进行了非常详细的描述。

格式为;

user_spec host_spec=(runas_spec) NOPASSWD:cmd_spec 
  • user_spec 标识哪些用户可以使用该规则。
  • host_spec 标识规则适用于哪些主机。这是可选的,默认为全部。
  • runas_spec 标识可以以哪些用户身份运行命令。
  • NOPASSWD:或 PASSWD:指定是否需要密码。这是可选的,默认为 PASSWD,除非在 sudoers 配置中更改了默认值。
  • cmd_spec 标识该规则可以运行哪些命令。

为各种规范使用别名是很常见的。每个规范都有一个预定义的别名 ALL,这是不言自明的。

相关内容