如何在Linux中更改sudo密码超时

时间:2020-03-21 11:44:10  来源:igfitidea点击:

本简要教程介绍了如何在Linux中更改sudo密码超时。
sudo系统是一种巧妙的方式,可以允许谁可以在Linux和UNIX操作系统中运行管理任务。
我们可以通过简单地将他/她添加到"sudo"组来宣传任何普通用户来执行需要root权限的命令。
这样,我们不必将root用户的密码与所有用户共享。

每当我们使用sudo运行命令时,系统将提示我们输入sudo密码。
对于第一个sudo命令后不久运行的后续命令,我们不必输入密码,即使它们需要sudo权限。
这是因为Sudo默认记住了15分钟的密码。
15分钟后,将要求我们再次输入密码,以获取任何sudo命令。

这实际上是一个安全功能。
例如,如果在使用sudo运行命令后将终端打开,则在sudo不活动的15分钟后,身份验证会自动过期。
因此,其他用户不能进行任何进一步的管理任务。

如下所述,可以通过增加或者减少Sudo密码超时限制来更改此行为。

在Linux中更改sudo密码超时

要更改Linux中的sudo密码超时限制,请运行:

$sudo visudo

此命令将在Nano编辑器中打开/etc/sudoers文件。

找到以下行:

Defaults env_reset

并将其更改如下:

Defaults env_reset, timestamp_timeout=30

其中30分钟内的新超时。
按Ctrl + X,然后按Y以保存更改并关闭编辑器。

从现在开始,我们将被要求在Sudo不活动30分钟后输入sudo密码。

正确的方法来编辑sudoers文件

不直接在/etc/sudoers文件中进行更改,请考虑在/etc/sudoers.d/中添加本地内容。
这是修改sudo密码超时限制的更好方法。

CD进入/etc/sudoers.d/目录:

$cd /etc/sudoers.d/

使用命令创建每个用户配置文件:

$sudo visudo -f sk

在上面的命令中将"sk"替换为用户名。

添加以下行:

Defaults timestamp_timeout=30

根据上面的行,我已经设置了30分钟的sudo密码超时。
按Ctrl + O保存文件,然后按Enter键。
然后,按CTRL + X关闭文件。

如果我们是唯一有权访问系统的人,则无需设置sudo密码限制更短。
我们可以更长时间增加密码超时值。

总是要求sudo密码

如果为"timestamp_timeout"指定0(零),则始终要求sudo密码。

$sudo visudo
Defaults timestamp_timeout=0

如果指定负值,则超时将永远不会过期。

为什么Visudo?

我们可能会想知道为什么我们需要运行"sudo misudo"?
为什么不仅仅是"sudo nano/etc/sudoers"并进行更改?
是的,你也可以做到这一点。
但是,使用Visudo是编辑/etc/sudoers文件的正确方法。
这样,我们可以在/etc/sudoers文件上锁定锁定,并同时避免其他用户的同时编辑。

重置sudo密码超时

就像我已经说过,一旦进入sudo密码,就会要求我们输入在Sudoers文件中定义的下一个n分钟的后续命令输入密码。
如果我们想重置此行为并使sudo下次询问密码,请运行:

$sudo -k

这将立即重置密码超时,并且必须输入下一个命令的sudo密码。

有关更多详细信息,请参阅Man页面。

$man sudoers