更改默认 sudo 密码超时

Tom*_*ale 36 sudo

当我运行sudo并输入密码时,sudo几分钟内的后续调用将不需要重新输入密码。

如何更改默认超时以再次要求输入密码?

Tom*_*ale 49

man sudoers 说:

一旦用户通过身份验证,[...] 用户可以在没有密码的情况下在短时间内使用 sudo(除非被timestamp_timeout选项覆盖,否则为 5 分钟)。

要更改超时,请运行sudo visudo并添加以下行:

Defaults        timestamp_timeout=30
Run Code Online (Sandbox Code Playgroud)

30以分钟为单位的新超时在哪里。

要始终需要密码,请设置为0。要设置无限超时,请将值设置为负数。

要完全禁用用户输入密码的提示ravi

Defaults:ravi      !authenticate
Run Code Online (Sandbox Code Playgroud)

  • 呵呵,我自己搜索手册页时得到了“timestamp_timeout”,但我不知道要包括“Defaults”。手册上是怎么告诉你的? (3认同)

Key*_*ang 13

sudo visudo 是直接修改默认配置文件,但是在文件下面有建议

请考虑在 /etc/sudoers.d/ 中添加本地内容,而不是直接修改此文件。

所以,更好的方法

cd /etc/sudoers.d
sudo visudo -f user_name
Run Code Online (Sandbox Code Playgroud)

添加内容

Defaults timestamp_timeout=(number)
Run Code Online (Sandbox Code Playgroud)

(number)是以分钟为单位的新超时。

timestamp_timeout (man 5 sudoers)

在 sudo 再次要求输入密码之前可以经过的分钟数。如果分钟粒度不够,超时可以包括小数部分,例如 2.5。默认值为 15。将此设置为 0 以始终提示输入密码。如果设置为小于 0 的值,则用户的时间戳不会过期,直到系统重新启动。这可用于允许用户分别通过“sudo -v”和“sudo -k”创建或删除自己的时间戳。

Ctrl+保存文件,O然后按enter,然后使用Ctrl+退出X


Qwe*_*tie 5

您需要编辑/etc/sudoers。对于那些不使用 vi 的人,您应该使用如下终端命令编辑此文件(在某些版本的 Linux 上):

sudo EDITOR=gedit visudo
Run Code Online (Sandbox Code Playgroud)

然后添加或更改timestamp_timeout

# After authenticating, this is the amount of time after which
# sudo will prompt for a password again in the same terminal
Defaults    timestamp_timeout=30
Run Code Online (Sandbox Code Playgroud)

  • 避免“vi”的正确方法是将“$EDITOR”变量设置为其他值。“visudo”的想法不是调用“vi”,而是通过 1)将“/etc/sudoers”复制到临时文件,2) 在此文件上调用 `$EDITOR`,3) *对此文件运行语法检查* 4) 最终用更新的版本替换 `/etc/sudoers`。 (2认同)