我知道上面那行允许<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,这是不言自明的。