当我运行时sudo apt-install <pkgname>
,没有密码请求。
如何在运行此命令时强制进行密码检查?为什么默认情况下不询问?这不是 sudo 的意义吗?也许我可能配置错误,导致绕过了这一点?
如何确保运行apt-get install <pkgname>
命令时发出密码请求?
答案1
sudo 会将提升的权限缓存大约 15 分钟(sudo, sudoedit - 以另一个用户身份执行命令 | Ubuntu 手册页)很可能您没有被要求输入密码,因为您已经在这段时间内输入了密码。您可以通过/etc/sudoers
输入sudo visudo
以下内容来更改默认设置:
Defaults:user637251 timestamp_timeout=30
答案2
通常情况下,您将运行sudo apt-get install ...
,并且 sudo 会在第一次调用 sudo 时要求您输入密码并将密码缓存 10 或 15 分钟,因此下次调用 sudo 时不需要密码。
如果您apt-get install ...
从 root 提示符运行,它将永远不会要求输入密码。
答案3
您还可以在任何时候执行 apt-get 命令时重置时间戳,如下所示:
sudo -k && sudo apt-get install package_name
来自 man sudo :'-k' 使用户的缓存凭据无效