更改默认的sudo密码超时


18

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

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

Answers:


28

man sudoers 说:

一旦验证了用户身份,用户就可以在短时间内(5分钟,除非被该timestamp_timeout选项覆盖)使用无密码的sudo 。

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

Defaults        timestamp_timeout=30

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

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

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

Defaults:ravi      !authenticate

3

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

sudo EDITOR=gedit visudo

然后添加或更改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

避免的正确方法vi是将$EDITOR变量设置为其他值。的想法visudo不是调用vi,而是通过1)复制到临时文件,2)调用该文件,3)在此上进行语法检查来防止人们将自己(以及其他依赖于的人sudo)锁定在自己的root帐户之外文件和4)最终替换为更新的版本。/etc/sudoers$EDITOR/etc/sudoers
安德烈亚斯·威斯

visudo的文档说:“通常,visudo不遵守VISUAL或EDITOR环境变量,除非它们在上述编辑器列表中包含一个编辑器”,并且该列表默认为only vi,而允许任何编辑器被称为是安全漏洞。但我可以肯定,它sudo EDITOR=gedit visudo可以在我的CentOS 7.2机器上使用。它提供的语法检查当然是一件好事。
Qwertie

嗯,是的,谢谢(进一步)澄清,我想念了。但是IIRC您也可以更改默认编辑器sudoers本身-仅作记录。我确定语法检查会告诉您。;)
Andreas Wiese

3

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

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

所以,更好的方法

cd /etc/sudoers.d
sudo visudo -f user_name

添加内容

Defaults timestamp_timeout=(number)

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

timestamp_timeout(man 5 sudoers)

sudo可能经过的分钟数将再次要求输入密码。如果微小粒度不足(例如2.5),则超时可能包含小数部分。默认值为15。将其设置为0总是提示输入密码。如果设置为小于0的值,则在重新引导系统之前,用户的时间戳记不会过期。这可用于允许用户分别通过“ sudo -v”和“ sudo -k”创建或删除自己的时间戳。

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.