如何在 Ubuntu 20.04 LTS 中为 Sudo 会话指定时间限制

在 Linux 中, sudo 命令允许我们执行管理任务。 但是,您可能已经注意到,您必须提供 sudo 一段时间不活动后再次输入密码。 它的发生是因为您的时间限制 sudo 会话默认为 15 分钟。 如果你执行一个 sudo 命令和密码,你的 sudo 特权将保留 15 分钟。 在这 15 分钟后,您将被要求提供 sudo 密码再次为后续 sudo 命令。

在某些情况下,您可能希望更改默认时间限制 sudo session 即增加或减少它。 例如,您可以增加超时限制 sudo 如果您是唯一可以物理访问系统的人。 同样,您可以减少时间限制 sudo session 或将其设置为 0,以便在运行时总是要求您输入密码 sudo 命令。

在本文中,我们将解释如何指定时间限制 sudo 会议。 您只需要在 /etc/sudoers 文件中做一个简单的配置。

请注意,本文中讨论的命令和流程已经在 Ubuntu 20.04 LTS (Focal Fossa) 上进行了测试。 您也可以对旧版本的 Ubuntu 执行相同的过程。

为 Sudo 会话指定时间 X

在下面的过程中,我们将指定时间限制 sudo 会议为 5 分钟。 请按照以下步骤指定您的时间限制 sudo 会话尽可能多:

首先,使用以下命令打开终端 Ctrl+Alt+T 键盘快捷键。 然后在终端中执行以下命令来编辑 /etc/sudoers 文件。

$ sudo visudo

提供密码 sudo.

注意:切勿使用任何文本编辑器编辑 /etc/sudoers 文件; 而是使用如上所述的 visudo 命令。 原因是与其他文本编辑器不同,visudo 检查文件中的语法和错误。 通过这种方式,您可以避免进行任何可能导致严重影响的错误更改。

/etc/sudoers 文件默认会在 Nano 编辑器中打开。 在 /etc/sudoers 文件中查找以下行:

Defaults env_reset

在上面一行的末尾,添加 时间戳_超时=x 像这样:

Defaults env_reset timestamp_timeout=x

其中 x 是超时值 sudo 会议。 例如,要为 sudo session 为 5 分钟,将 x 的值设置为 5。

Defaults env_reset,timestamp_timeout=5

Save 和 close 该文件使用 Ctrl+OCtrl+X 同时。 现在尝试执行任何 sudo 命令(如 sudo 适当更新)。 现在等待 2 到 3 分钟,然后再次执行 sudo 命令,您将不会被要求输入密码。 但是,5 分钟后,任何 sudo 您运行的命令将提示您输入 sudo 密码。