Linux命令大全 / linux学习笔记 · 2022年2月5日 0

让sudo更长时间地记住密码

可能你执行了相当多的 sudo 命令,因为你不想一直 sudo su 以 root 身份执行命令。

你注意到,如果你在几分钟内执行一个然后另一个,第二次你不会收到如下消息:[sudo] password for your_username。但是,当两个命令的执行之间有更多时间时,你确实会用得到它。

怎样才能让 sudo 持续更长时间?

的行为sudo/etc/sudoers文件和by default timeout of thesudocommand is 15 minutes.

/etc/sudoers文件有一个timestamp_timeout选项负责在特定时间后重新提示用户输入密码。好消息是你可以通过在/etc/sudoers文件中添加一个字符串来增加这个数字(以分钟为单位)。之后sudo会再次要求输入密码。

实际上,sudo它不会记住你的密码,但是当你第一次对其进行授权时,会创建一个持续时间为timestamp_timeout. 它将时间戳存储在/var/run/sudo/ts/目录下。

确保你使用 编辑你的sudoers 文件很重要 visudo,它会检查你的语法,并且不会给你留下错误的配置和无法访问的 sudo. 换句话说,运行sudo visudo而不是直接编辑文件会导致系统/etc/sudoers在提交更改之前验证文件。

要使sudo命令持续更长时间,请在终端中运行以下命令:

sudo visudo

或者直接编辑/etc/sudoers文件。

并在文件开头添加

Defaults  timestamp_timeout=x

那里x是你想要reprompts之间的分钟的量。在我们的例子中,我们将此值设置为60。让 sudo 更长时间地记住密码

而已。保存文件并退出。现在sudo密码提示将在sudo用户调用一小时(60 分钟)后超时。

此外,如果你指定0,你将始终被要求输入密码。请记住,如果你指定一个负值,例如 ,-1超时将永远不会过期。当然,specifying a negative value is not recommended 并且需要被视为 bad security practice.

原文始发于微信公众号(入门小站)