在与 sudo 在 Linux 中执行管理任务的命令,您可能已经注意到,即使您提供了 sudo 密码不久前,您被要求在一段时间后再次提供它。 这是因为您的时间限制 sudo 会话,默认设置为 15 分钟。 如果您输入一个 sudo 即使在同一个终端会话中,这 15 分钟后的命令,也会要求您再次输入密码。 作为 Linux 管理员,您可能希望延长或缩短 sudo 会话比默认的十五分钟。
本教程介绍了如何在 /etc/sudoers 文件中进行非常简单的更改,以指定时间限制 sudo 会议。 本文中提到的命令已经在 Ubuntu 18 中执行过; 但是,它们在旧版本的 Ubuntu 中也具有相同的性能。
为 Sudo 会话指定时间 X
在这个例子中,我们将改变我们的时间限制 sudo 会议时间为 10 分钟。 请按照以下步骤更改您的时间限制 sudo 会话,只要你愿意:
按打开你的 Ubuntu 终端 Ctrl+Alt+T 或通过 Ubuntu Dash。
由于您需要编辑位于 etc 文件夹中的 sudoers 文件,请输入以下命令:
$ sudo visudo
您将被要求输入密码 sudo 用户。
您会想知道为什么我们不像打开其他文本文件那样打开 sudoers 文件。 答案是,与其他文本编辑器不同,visudo 会验证您在文件中输入的文本的语法。 这可以避免您做出任何可能导致严重后果的错误更改。 例如,对 sudoers 文件进行错误编辑可能会使您无法以特权用户身份登录以执行任何提升的功能。
输入您的密码并输入。 sudoers 文件将在 Nano 编辑器中打开,因为它是 Ubuntu 18.04 的默认文本编辑器。
在上图中,您可以看到以下行:
Defaults env_reset
此行负责您的时间限制 sudo 会议。 您需要对此行进行以下更改:
Defaults env_reset, timestamp_timeout=x
这里 x 是您可以指定的时间(以分钟为单位)以设置所需的时间限制。 设置此超时时请注意以下几点:
如果您将超时时间指定为 0,您的会话将仅持续 0 分钟。 这意味着您将被要求为每个人输入密码 sudo 命令。
如果将此时间设置为小于零(负数),则 sudo 命令将无法正常工作。
在此示例中,我通过 sudoers 文件中的以下更改将默认时间从 15 分钟缩短到 10 分钟:
按 Ctrl+X 进行所需的更改后退出文件。 系统将询问您是否要保存修改后的文件。 按 是 用于保存更改。
您还将被要求指定要保存的文件名。 请按回车,因为我们不想在此处更改文件名。
您的更改将被保存并且您的 sudo 每当您使用 sudo 命令。
设置 Sudo 会话最后到终端关闭
通过一个简单的命令,你可以让你的 sudo 会议持续到你 close 终端,无论终端保持打开状态多长时间。 将不会要求您为任何需要的命令输入密码 sudo 运行此命令后的权限:
$ sudo -s
终止 sudo 会议
提供密码后 sudo, 你可以终止 sudo 会话甚至在 sudoers 文件中指定的时间限制之前,通过以下简单命令:
$ sudo -k
请注意,如果您使用了“sudo -s”在终端会话期间。
因此,这就是您可以缩短或延长持续时间的方法 sudo 通过在 /etc/sudoers 文件中进行一行更改来创建会话。 您还可以使用本文中提到的其他命令来终止 sudo 会话或使其持续到终端会话持续。