当前位置: 首页>>技术教程>>正文


如何为Sudo会话指定时间限制

,

How to set a sudo timeout

在使用sudo命令在Linux中执行管理任务时,您可能已经注意到,即使您刚才提供了sudo密码,也会要求您在一段时间后再次提供该密码。发生这种情况的原因是您的sudo会话的时间限制(默认设置为15分钟)。如果您在这15分钟后仍在同一终端会话中输入sudo命令,则会要求您再次输入密码。作为Linux管理员,您可能想要延长或缩短sudo会话的时间限制,而不是默认的15分钟。

本教程描述了如何在/etc /sudoers文件中进行非常简单的更改,以指定sudo会话的时间限制。本文提到的命令已在Ubuntu 18中执行;请参见第11章。但是,它们在旧版Ubuntu中的性能也相同。

为Sudo会话指定时间X

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

通过按打开您的Ubuntu终端Ctrl + Alt + T或通过Ubuntu Dash。

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

$ sudo visudo

visudo command

系统将要求您输入sudo用户的密码。

您会想知道为什么我们不像打开其他文本文件那样打开sudoers文件。答案是,与其他文本编辑器不同,visudo会验证您在文件中输入的文本的语法。这样可以避免进行任何可能导致严重后果的错误更改。例如,对sudoers文件进行错误的编辑可能会导致您无法以log-in的特权用户身份执行任何高级功能。

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

The sudoers file

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

Defaults env_reset

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

Defaults env_reset, timestamp_timeout=x

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

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

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

在此示例中,我通过对sudoers文件进行以下更改将默认时间从15分钟缩短为10分钟:

Change sudo timeout from 15 minutes to 10 minutes

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

Save modification to sudoers file

您还将被要求指定要保存的文件名。请按Enter键,因为我们不想在此处更改文件名。

Do not specify filename when saving the file

每当您使用sudo命令时,您的更改将被保存,并且sudo会话将持续到指定的分钟。

设置Sudo会话的最后一个终端关闭

通过一个简单的命令,无论终端保持打开状态多长时间,都可以让sudo会话持续到关闭终端为止。运行此命令后,系统不会要求您输入任何需要sudo权限的命令的密码:

$ sudo -s

终止sudo会话

提供sudo密码后,甚至可以通过以下简单命令在sudoers文件中指定的时间限制之前终止sudo会话:

$ sudo -k

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

因此,这是通过更改/etc /sudoers文件中的one-line来缩短或延长sudo会话持续时间的方法。您还可以使用本文中提到的其他命令来终止sudo会话,或使其持续到终端会话持续。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/7924.html,未经允许,请勿转载。