如果我这样做sudo <command>
并输入密码,我的 Debian Squeeze 会记住我输入的密码,并且在 15 分钟内不会要求输入密码。
但如果我这样做sudo -i
了exit
,系统就会这样做不是记住密码并在每次使用时再次要求输入sudo -i
。仅执行一次,sudo <command>
系统即使在下一次执行时也不会要求输入密码sudo -i
。
以下是我上面描述的场景:
第一:
- 登录(通过 SSH),
sudo <command>
: 系统要求输入密码,sudo -i
: 系统不是询问密码。
第二个:
- 登录(通过 SSH),
sudo -i
: 系统要求输入密码,exit
sudo -i
: 系统的再次询问密码。
在 2. 和 3. 之间做一些事情会让系统记住密码。
这种行为的原因是什么?使用后是否可以让系统记住密码(事实上我已经通过了)sudo -i
?
答案1
从 sudoers(5) 手册页:
作为一种特殊情况,如果指定了 sudo 的 -i 选项(初始登录),则无论 env_reset 的值如何,sudoers 都会初始化环境。 DISPLAY、PATH 和 TERM 变量保持不变; HOME、MAIL、SHELL、USER 和 LOGNAME 根据目标用户设置。在 Linux 和 AIX 系统上,还包括 /etc/environment 的内容。所有其他环境变量都被删除
正在设置 USER 的事实可能意味着无论您的密码成功与否,该计数器都会被重置。
您还应该了解该文档中的其他知识点。