关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

在Ubuntu中设置Sudo会话时间限制:简单步骤与指南

发布时间:2023/11/6 13:13:03
香港云服务器

在Linux系统服务器中,sudo命令允许我们执行管理任务。然而,你可能已经注意到,你如果一段时间不操作后,需要再次提供sudo密码。这是因为你的sudo会话有时间限制,默认情况下是15分钟。如果你在执行sudo命令时加上密码,你的sudo权限将保持15分钟。在这15分钟之后,您将被要求再次为后续的sudo命令提供sudo密码。

在某些情况下,你可能想改变sudo会话的默认时间限制,即增加或减少它。例如,如果你是唯一一个对系统有访问权的人,你可以增加sudo会话的超时限制。同样,你也可以减少sudo会话的超时限制,或者将其设置为0,这样当你运行sudo命令时,总会被要求输入密码。

在本文中,我们将介绍如何指定sudo会话的时间限制。你所需要的只是在/etc/sudoers文件中做一个简单的配置。

请注意,本文所讨论的命令和过程已经在Ubuntu 20.04 LTS(Focal Fossa)上进行了测试。你也可以在老版本的Ubuntu上执行同样的程序。

1、为Sudo会话指定时间X

在以下过程中,我们将sudo会话的时间限制指定为5分钟。请按照以下步骤将sudo会话的时间限制指定为所需的任意时间:

首先,使用Ctrl +>

$ sudo visudo

需要提供sudo的密码。

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

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

Defaults env_reset

在上一行的末尾,像这样添加timestamp_timeout = x:

Defaults env_reset timestamp_timeout=x

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

Defaults env_reset,timestamp_timeout=5

同时使用Ctrl + O和Ctrl + X保存并关闭文件。现在尝试执行任何sudo命令(例如sudo apt update)。现在等待2至3分钟,然后再次执行sudo命令,系统将不会要求您输入密码。但是,5分钟后,您运行的任何sudo命令都会提示您输入sudo密码。

如果希望系统在每次执行sudo命令时都要求输入密码,请将x的值设置为0。类似地,如果希望系统从不要求sudo密码,则将x的值设置为-1。 。

2、将sudo会话设置为持续到终端关闭

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

$ sudo -s

3、终止sudo会话

提供sudo密码后,甚至可以在/ etc / sudoers文件中指定的时间限制之前终止sudo会话。这是这样做的命令:

$ sudo –k

但是,请记住,如果您之前在终端会话中执行了“ sudo –s”命令,则此命令将不起作用。

在本文中,您学习了如何管理sudo会话的超时限制。编辑/ etc / sudoers文件以延长或缩短超时限制,或使用本文中提到的其他命令终止sudo会话,或使其持续到终端会话持续。