如何在 Mac OS X 中更改 Sudo 密码超时
在命令行中花费大量时间的高级用户可能希望调整他们的 sudo 密码过期时间以更安全(或更不安全,通过延长密码宽限期超时)。通常,这意味着删除任何密码超时,从而放弃默认的五分钟密码缓存,从而要求在命令以 sudo 为前缀的任何时候输入 root 密码。
为了更改或删除sudo密码宽限期超时,我们将使用visudo,这个技巧适用于Mac OS X以及顺便说一下linux。
这真的只适用于高级命令行用户。如果您不知道您在使用 sudo、vim 或 visudo 做什么,并且对命令行不是很有经验,请不要尝试更改其中的任何内容。损坏的 sudoers 文件可能会导致大量问题,并且可能需要从备份中恢复。完全调整此设置需要您自担风险。
调整Sudo密码过期超时时间
从命令行,我们将在visudo的帮助下编辑sudoers文件——不要尝试在没有visudo的情况下编辑/etc/sudoers
sudo visudo
使用箭头键导航到 sudoers 文件的末尾,然后在新行中输入以下语法(可以在前面加上散列随意添加注释,以便稍后参考)
默认时间戳_超时=0
在这个例子中,我们使用“0”作为超时宽限期,这意味着 sudo 将仅在每个命令的基础上工作,并且在默认的五分钟内没有密码缓存。该数字以分钟为单位,因此您可以将其设置为任何您想要的,但出于此处的目的,我们使用 0 来删除 sudo 密码宽限期,您也可以使用不推荐的 '-1' 来另一个方向在任何情况下,使 sudo 宽限期无限。
完成后,按 Escape (ESC) 键,然后按冒号:,然后键入不带引号的“wq”,然后按回车键保存并退出 visudo 的更改。
Refresh the terminal and you'll now have zero grace period with sudo, try it by editing the hosts file or perform some other task that requires root access, 你会立即发现下一个命令再次需要root权限
您还可以调整特定用户的超时时间,如果您已将用户添加到sudoers 并希望为单个用户帐户设置特定的密码宽限期,这将很有帮助。这是通过将用户名添加到默认字符串来实现的,如下所示:
默认值:用户时间戳_超时=XX
记住你也可以使用'sudo -k'来临时调整sudo密码超时,这对于将超时设置为0以获得更高安全性的用户可能会有所帮助。
关于 sudoers 文件还有很多东西需要学习,这可能与 Mac OS X 和 linux 平台上的高级用户相关,浏览手册页很有帮助,并提供了许多其他选项。