如何指定sudo会话时间限制

在Linux上使用sudo命令执行管理任务时,您可能已经注意到,如果您在一段时间前输入了sudo密码,一段时间后将提示您再次输入该密码。这是由于sudo会话时间限制(默认为15分钟)。如果您在同一终端会话中15分钟后输入sudo命令,将提示您重新输入密码。 Linux管理员可以将sudo会话时间限制从默认的15分钟增加或减少。

本教程向您展示如何对/ etc / sudoers文件进行一些非常简单的更改,以指定sudo会话的时间限制。本文中的命令在Ubuntu 18上运行。但是,它在旧版Ubuntu上的工作原理相同。

sudo指定会话时间X

在此示例中,我们将sudo会话时间限制更改为10分钟。请按照以下步骤更改所需的sudo会话时间限制。

按下以打开Ubuntu终端 Ctrl + Alt + T 或通过Ubuntu Dash。

您需要编辑etc文件夹中的sudoers文件,因此输入以下命令:

$ sudo visudo

visudo命令

系统将提示您输入sudo用户的密码。

您可能想知道为什么不像打开其他文本文件那样打开sudoers文件。答案是,与其他文本编辑器不同,visudo会验证您在文件中键入的文本的语法。这样就无需进行可能造成严重后果的错误更改。例如,意外地编辑sudoers文件可能会阻止您以特权用户身份登录并执行高级功能。

输入密码并输入。 sudoers文件是Ubuntu 18.04的默认文本编辑器,因此请在Nano编辑器中将其打开。

sudoers文件

在上图中,您可以看到以下行。

Defaults env_reset

该行负责sudo会话的时间限制。您需要对此行进行以下更改:广告

Defaults env_reset, timestamp_timeout=x

其中x是您可以指定设置所需时间限制的时间(以分钟为单位)。设置此超时时,请牢记以下几点:

如果将超时指定为0,则会话仅持续0分钟。这意味着将提示您为每个sudo命令输入密码。

如果将此时间设置为小于零(负值),那么sudo命令将无法正常工作。

在此示例中,通过如下修改sudoers文件,将默认时间从15分钟减少到10分钟:

将sudo超时从15分钟更改为10分钟

Ctrl + X 进行必要的更改后,退出文件。系统将询问您是否要保存修改的文件。推 ÿ 保存您的更改。

将更改保存到sudoers文件

还将提示您指定要保存的文件名。我不想在此处重命名文件,因此请按Enter。

保存文件时不指定文件名

每次使用sudo命令时,所做的更改都会保存下来,并且sudo会话将持续指定的分钟数。

设置Sudo会话,直到终端关闭

使用简单的命令,无论终端保持打开状态多长时间,都可以继续sudo会话,直到关闭终端为止。运行此命令后,将不会提示您输入需要sudo特权的命令的密码。

$ sudo -s

结束sudo会话

输入sudo密码后,您甚至可以在sudoers文件中指定的时间限制之前使用以下简单命令结束sudo会话。

$ sudo -k

请注意,如果在终端会话期间使用“ sudo -s”,则此命令不会终止会话。

因此,这是一种通过对/ etc / sudoers文件进行单行更改来缩短或延长sudo会话持续时间的方法。您还可以使用本文中的其他命令来结束sudo会话或继续直到终端会话结束。

如何指定sudo会话时间限制

Sidebar