sudo 命令多久会要求输入密码?我可以在哪里设置密码?

sudo 命令多久会要求输入密码?我可以在哪里设置密码?

我执行了相当多的sudo命令。

我注意到,如果我在几分钟内执行一个然后执行另一个,第二次我就不会收到消息:

[sudo] my_username 的密码:

但当两个命令的执行之间有更多时间时,我确实明白了。

消息未出现的时间是多长?我们如何检查/更新它?

答案1

默认超时时间为sudo15分钟;也就是说,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=XX是要设置的时间(以分钟为单位)。

因此,您的行应如下所示,例如:

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 形式运行。

相关内容