Sudo在第二次重新执行时不提示输入密码

时间:2020-01-09 10:43:47  来源:igfitidea点击:

我使用sudo为UNIX和Linux操作系统下的其他用户提供权限和命令执行权限。
但是,我注意到有关sudo的一些奇怪之处。
在执行sudo时,它将第一次提示用户输入密码,但是sudo在重新执行时不再需要密码。
为什么?
这是安全隐患吗?

sudo工具通过创建文件来记录时间戳,在第一次执行时,如果时间戳未超时,则sudo不需要密码。
默认超时值为900秒(15分钟)。

timestamp_timeout选项

timestamp_timeout定义了sudo再次要求输入密码之前可以经过的分钟数。
默认值为5。
将其设置为0总是提示输入密码。
如果设置为小于0的值,则用户时间戳将永不过期。
编辑/etc/sudoers,执行:

# vi /etc/sudoers

您还可以使用visudo命令,该命令以安全的方式编辑sudoers文件:

# visudo

根据您的要求设置timestamp_timeout或者0,以使其始终提示输入密码:

timestamp_timeout 0

保存并关闭文件。

sudo -k命令行选项

-k选项允许用户分别通过sudo -v和sudo -k创建或者删除自己的时间戳。
执行sudo命令后,运行sudo -k使时间戳无效:

$ sudo -k

passwd_timeout选项

passwd_timeout定义sudo密码提示超时之前的分钟数。
默认值为5,如果没有密码超时,请将其设置为0。
编辑/etc/sudoers,执行:

passwd_timeout 2