是否可以只为sudo输入一次密码,并将其配置为在其他终端上不需要密码?


33

我输入我的第一个sudo命令。输入密码。有一阵子,我将不必为随后的sudo命令输入密码。

现在的问题。我是打开很多终端的人。如果在我使用sudo第一个sudo后打开的终端中使用时不必输入密码,这将非常方便,因为在很短的时间内,我不必在使用sudo的终端中输入sudo的密码。第一次。(很长的句子很抱歉!)

可能吗?如果没有,为什么?如果是,怎么办?


4
您是否考虑过通过这样做来打开存在该机制的安全孔?您必须使用sudo输入密码的原因是为了防止攻击者以您的名义以某种方式获得对登录会话的访问权限。如果您将其禁用,并且有人设法劫持了您的一个终端会话(它们都在同一控制台上吗?),或者以其他方式获得了以您的名字访问登录会话的权限,而他们却不知道您的密码,那么他们将能够运行任何以root身份执行命令。不太可能出现这种情况,但是您应该考虑一下。
Pepijn Schmitz

Answers:


52

当然是啦。运行sudo visudo并将此行添加到您的sudoers文件中:

Defaults        !tty_tickets

如中所述man sudoers

 tty_tickets       If set, users must authenticate on a per-tty basis.
                   With this flag enabled, sudo will use a separate record
                   in the time stamp file for each tty.  If disabled, a
                   single record is used for all login sessions.  This
                   flag is on by default.

通过设置tty_tickets为off(这!意味着),您可以使一个身份验证可以由多个会话共享。


1
在为用户提供建议时,我在此所做的唯一不同操作是改为使用sudoers.d文件。这样,如果它们以某种方式很容易恢复,只需删除该文件即可。例如 sudo visudo -f /etc/sudoers.d/01_file
2015年

sudo超时结束时会发生什么?或运行类似的东西sudo -k
Maythux

@Maythux,您需要再次输入。这仅使所有外壳会话都可以使用一个标识。没有其他的。
terdon

@ user3073656啊,很酷,这更有意义:)。是的,请删除我的。
terdon

我应该注意,如果使用此方法,即使重新启动会带来安全隐患,密码也只会在15分钟的超时后过期。因此,也许添加sudo -k/etc/rc6.d
daltonfury42
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.