如何自动化sudo密码

Ale*_*der 7 sudo

提示时如何自动输入sudo密码?我可以通过键入在脚本中执行此操作:echo PASSWORD | sudo -S Command,但是如何在出现提示时始终执行此操作?

Ell*_*sch 6

您可以修改 sudoers 文件(使用visudo)并使用“NOPASSWD”选项不提示输入密码。从,这里页面;例如man sudoers并搜索 NOPASSWD -

NOPASSWD 和 PASSWD

默认情况下,sudo 要求用户在运行命令之前对其进行身份验证。可以通过 NOPASSWD 标签修改此行为。与 Runas_Spec 一样,NOPASSWD 标记为 Cmnd_Spec_List 中跟随它的命令设置默认值。相反,PASSWD 标签可用于反转事物。例如:

ray     rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
Run Code Online (Sandbox Code Playgroud)

将允许用户 ray 以 root 身份在 rushmore 机器上运行 /bin/kill、/bin/ls 和 /usr/bin/lprm,而无需对自己进行身份验证。如果我们只希望 ray 能够在没有密码的情况下运行 /bin/kill ,那么条目将是:

ray     rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Run Code Online (Sandbox Code Playgroud)

但是请注意,PASSWD 标记对exempt_group 选项指定的组中的用户没有影响。

默认情况下,如果 NOPASSWD 标记应用于当前主机上用户的任何条目,他或她将能够在没有密码的情况下运行“sudo -l”。此外,如果与当前主机相关的所有用户条目都存在 NOPASSWD 标记,则用户只能在没有密码的情况下运行“sudo -v”。可以通过 verifypw 和 listpw 选项覆盖此行为。

  • 你坚持,IMO,总是用 visudo 编辑,visudo 检查语法 (3认同)