我用的是红帽linux。我正在尝试运行以下命令,想知道为什么它不提示输入密码?
这就是我正在做的事情。我打开终端窗口并输入我的用户名和密码。之后我运行以下命令
sudo su - anotherusername
该命令成功运行,不提示输入另一个用户名的密码。我想知道为什么我没有收到密码提示?
在某些情况下,我会收到另一个用户名的密码提示吗?
或者是否有不同的命令会提示我输入另一个用户名密码?
我错误地在 StackOverflow 中发布了这个问题https://stackoverflow.com/questions/46632690/sudo-su-username-not-prompting-for-password 我被告知,如果我的用户名是 sudoers 组的一部分,那么我将不会收到密码提示。
只是想确认这是否是唯一原因,或者还有其他原因未收到密码提示。
答案1
sudo su
运行su
为root
;因此无需su
询问密码。
问题可能是为什么sudo
不要求输入密码(调用用户的或root
)。的输出sudo -l
可以解释这一点。或者sudo
之前已经调用过并且认为之前输入的密码仍然有效。
答案2
尝试在以下位置搜索运行 sudo 命令的用户的用户名/etc/sudoers
:
$ sudo grep yourusername /etc/sudoers
yourusername ALL=(ALL) NOPASSWD: ALL
如果该命令的输出grep
包含NOPASSWD:
,则使用该visudo
命令编辑NOPASSWD:
该行并将其删除。
此外,系统还会提示您输入运行该sudo
命令的用户的密码,而不是您尝试登录的帐户的密码。