对此,绝对没有好的、直截了当的答案。问题很简单:
当我键入sudo su时,如何强制Linux请求我的密码?

最佳答案

如果我理解正确,您可能有一个配置错误的/etc/sudoers文件。
一些用户或用户组可以在其中配置为能够在不提供密码的情况下运行“su”甚至所有命令。
检查文件内部是否包含包含“nopasswd”的行,例如:

sudo cat /etc/sudoers |grep NOPASSWD

如果文件中有类似于下面一行的内容(最重要的部分是从“nopasswd”开始到右边):
someuser ALL= NOPASSWD: /bin/su
ALL ALL= NOPASSWD: /bin/su
someuser ALL= NOPASSWD: ALL
%wheel  ALL=(ALL)   NOPASSWD: ALL

那可能是罪魁祸首。
您必须从文件中删除该行(或者如果您希望用户/组仍然能够使用sudo su with password,则仅删除其中的“nopasswd:”部分),或者使用visudo编辑器在行的开头使用将其注释掉:
sudo visudo

09-06 21:19