即使更改密码后 sudo su 也不会询问密码

即使更改密码后 sudo su 也不会询问密码

我在 AWS 上有一个 ubuntu 实例。
获得 ssh 登录后,我能够使用sudo su命令更改为 root 密码。
出于安全原因,我想更改 root 密码。因此我尝试了以下操作:

root@email:/home/ubuntu# sudo passwd root
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully
root@email:/home/ubuntu# 

当我尝试更改密码后sudo su,它不会要求输入密码

ubuntu@email:~$ sudo su
root@email:/home/ubuntu# 

然而,当我仅尝试时su,它会提示一个:

ubuntu@email:~$ su
Password: 

如何实现安全或者设置密码sudo su

以下是 sudoers (visudo) 的详细信息

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d

答案1

sudoers文件中的这一行

#includedir /etc/sudoers.d

使其包含/etc/sudoers.d/目录中的其他文件。可能看起来该行被注释掉了,但事实并非如此;该指令以#includedir开头。其中一个包含的文件可能设置了导致问题的#规则。NOPASSWD

在更改某些内容之前,请确保您的普通用户拥有有效的非空密码。从这个答案

sudo即使您没有密码也会要求输入密码,并且不会接受空密码。

如有疑问,请passwd为您的常规用户调用并设置一个全新的密码。

此命令应该告诉您需要检查哪些文件:

sudo grep -r NOPASSWD /etc/sudoers.d/

您要找的行可能看起来像这样:

ubuntu ALL=(ALL) NOPASSWD:ALL

将其注释掉 ( # ubuntu ALL=...)。比较这个答案

相关内容