如何在 Linux 中不输入密码的情况下运行“sudo”命令
如果您在通常单独使用的机器上运行 Linux,例如笔记本电脑,那么每次调用sudo时输入密码从长远来看会变得非常无聊。因此,在本指南中,我们将描述如何配置 sudo 命令以在不输入密码的情况下运行。
此设置在/etc/sudoers文件中完成,该文件驱动 sudoers 使用sudo 命令的默认安全策略插件;在用户权限规范部分下。
重要提示:在sudeors文件中,默认情况下启用的 authenticate 参数用于身份验证。如果设置了该参数,用户在使用sudo运行命令之前必须通过密码(或其他身份验证方式)进行身份验证。
但是,可以使用NOPASSWD(用户调用sudo命令时不需要密码)标签覆盖此默认值。
配置用户权限的语法如下:
user_list host_list=effective_user_list tag_list command_list
在哪里:
user_list
– 已设置的用户列表或用户别名。host_list
– 用户可以在其上运行 sudo 的主机或主机别名列表。effective_user_list
– 他们必须以以下身份运行的用户列表或以别名运行的用户列表。tag_list
– 标签列表,例如 NOPASSWD。command_list
– 用户使用 sudo 运行的命令列表或命令别名。
为了允许用户(在下面的例子中)使用sudoaaronkilik
运行所有命令而无需密码,请打开sudoers文件:
$ sudo visudo
并添加以下行:
aaronkilik ALL=(ALL) NOPASSWD: ALL
对于组的情况,使用%
组名前的字符如下;这意味着该sys
组的所有成员将使用 sudo 运行所有命令,而无需密码。
%sys ALL=(ALL) NOPASSWD: ALL
为了允许用户/bin/kill
使用 sudo 运行给定命令(而无需密码),请添加以下行:
aaronkilik ALL=(ALL) NOPASSWD: /bin/kill
下面这行代码将允许组成员使用sudo无需密码sys
运行命令:/bin/kill、/bin/rm :
%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm
有关更多sudo配置和其他使用选项,请阅读描述更多示例的文章:
在本文中,我们描述了如何配置 sudo 命令以使其无需输入密码即可运行。请不要忘记在评论中向我们提供您对本指南或其他对 Linux 系统管理员有用的 sudo 配置的想法。