我执行了相当多的sudo
命令。
我注意到,如果我在几分钟内执行一个然后执行另一个,第二次我就不会收到消息:
[sudo] my_username 的密码:
但当两个命令的执行之间有更多时间时,我确实明白了。
消息未出现的时间是多长?我们如何检查/更新它?
答案1
默认超时时间为sudo
15分钟;也就是说,sudo
默认会记住您的密码15分钟。
您可以通过在文件中添加字符串来修改此默认超时/etc/sudoers
。但是,您不能直接修改文件,而是使用命令sudo visudo
。
因此,sudo visudo
在终端中输入。这将打开(实际上是一个临时的)文件,供我们使用您喜欢的编辑器进行编辑。
笔记:如果您是
visudo
第一次使用,系统会询问您要使用哪个编辑器,因此请选择您的编辑器。没有“更好”的编辑器,但我更喜欢nano
。如果您之前已经使用visudo
并选择了一个编辑器,但您想暂时使用另一个编辑器,您可以执行sudo EDITOR=vi visudo
使用vi
,或将其更改为nano
使用nano
。如果您想永久更改首选编辑器,请执行sudo update-alternatives --config editor
。
寻找这一行:
Defaults env_reset
并在其末尾添加(带逗号),其中timestamp_timeout=X
X是要设置的时间(以分钟为单位)。
因此,您的行应如下所示,例如:
Defaults env_reset,timestamp_timeout=5
如果指定 0,则始终会要求您输入密码。如果指定负值,则超时将永不过期。
完成后,保存并退出。
来源:RootSudo 超时
答案2
请参阅此处的帖子:http://ubuntuforums.org/showthread.php?p=116697#post116697
编辑/etc/sudoers
文件,使用sudo visudo
命令以确保安全。添加timestamp_timeout=0
到行开始Defaults
每次询问,或正 X 表示延迟 X 分钟。
答案3
不确定这个是否会过期,但你可以试试
sudo su
它会要求您输入密码,然后所有命令都以 sudo 形式运行。