可能你执行了相当多的
sudo
命令,因为你不想一直sudo su
以 root 身份执行命令。
你注意到,如果你在几分钟内执行一个然后另一个,第二次你不会收到如下消息:[sudo] password for your_username。但是,当两个命令的执行之间有更多时间时,你确实会用得到它。
怎样才能让 sudo 持续更长时间?
的行为
sudo
在/etc/sudoers
文件和by default timeout of the
sudocommand 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
.
原文始发于微信公众号(入门小站)