如何在 Mac OS X 中更改 Sudo 密码超时

更改 Mac 上密码过期的 sudo 超时

命令行上花费大量时间的高级用户可能希望将他们的 sudo 密码过期时间调整为更长安全(或不太安全,通过延长密码宽限期超时)。通常,这意味着删除任何密码超时,从而放弃默认的五分钟密码缓存,从而要求在命令以 sudo 为前缀的任何时候输入 root 密码。

为了更改或删除 sudo 密码宽限期超时,我们将使用 visudo,顺便说一下,这个技巧适用于 Mac OS X 和 linux。

这确实只适用于高级命令行用户。如果你不知道你在用 sudo、vim 或 visudo 做什么,以及在命令行方面不是很有经验,请不要尝试更改其中的任何内容。损坏的 sudoers 文件可能会导致大量问题,并且可能需要从备份中恢复。调整此设置需要您自行承担风险。

调整 Sudo 密码过期超时

从命令行,我们将在 visudo 的帮助下编辑 sudoers 文件——不要尝试在没有 visudo 的情况下编辑 /etc/sudoers

sudo visudo

使用箭头键导航到 sudoers 文件的末尾,然后在新行中输入以下语法(随意在前面添加一个哈希 # 以包含注释,以便稍后参考)

默认 timestamp_timeout=0

在这个例子中,我们使用“0”作为超时宽限期,这意味着 sudo 将只在每个命令的基础上工作,并且在默认的五分钟内没有密码缓存。该数字以分钟为单位,因此您可以将其设置为您想要的任何值,但出于此处的目的,我们使用 0 来删除 sudo 密码宽限期,您也可以使用不推荐的 ‘-1’ 去另一个方向在任何情况下,使 sudo 宽限期无限。

完成后,按 Escape (ESC) 键,然后按冒号:,然后键入不带引号的“wq”,然后按回车键保存并退出 visudo 的更改。

刷新终端,您现在使用 sudo 的宽限期为零,通过编辑主机文件或执行其他需要 root 访问权限的任务来尝试,您会发现下一个命令立即再次需要 root 授权。

您还可以针对特定用户调整超时,如果您将用户添加到 sudoers 并希望为单个用户帐户设置特定的密码宽限期。这是通过将用户名添加到默认字符串来实现的,如下所示:

默认值:用户 timestamp_timeout=XX

请记住,您还可以使用“sudo -k”临时调整 sudo 密码超时,这对于将超时设置为 0 以提高安全性的用户很有帮助。

更改 sudo 超时

关于 sudoers 文件还有很多东西需要了解,这可能与 Mac OS X 和 linux 平台上的高级用户相关,浏览手册页很有帮助并提供了许多其他选项。