默认 sudo 设置不需要密码

默认 sudo 设置不需要密码

这是针对 12.04 ec2 实例的。

在手册页中,它说默认应该是使用 sudo 时需要密码。我以为通过设置 ubuntu 的帐户密码(如果未设置)可能会在使用 sudo 时开始提示我输入密码,但是当我使用 passwd 命令时,它要求我输入原始密码,然后才允许我更改它。因此,即使它似乎已经设置好了,它也没有提示我输入 sudo 密码,在我使用 sudo 覆盖并更改 ubuntu 帐户密码后,它仍然没有要求输入 sudo 密码。

无论如何,我不确定这些细节到底有多重要。这是我的 sudoers 文件:

#
# 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     secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/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

在我遇到的所有例子中,人们都不知道为什么他们有无密码的 sudo 设置,这似乎是因为 sudoers 文件中有某种明确的“NOPASSWD:ALL”行(我的没有)。我尝试这样做:

%admin ALL:(ALL) PASSWD: ALL

但没有帮助。

id输出:

uid=1000(ubuntu) gid=1000(ubuntu) groups=1000(ubuntu),4(adm),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),110(netdev),111(admin)

答案1

用户ubuntu让我认为这是某种实时环境。在实时环境中,用户ubuntu无需密码即可sudo访问,因为这是实时环境的目的。

在上述情况下,无密码sudo访问在目录中的文件中定义/etc/sudoers.d/,更确切地说/etc/sudoers.d/casper包含以下内容:

ubuntu  ALL=(ALL) NOPASSWD: ALL

所以我认为目录中有这样一个文件/etc/sudoers.d/。(或者,如果您安装的是非标准的 ubuntu,则还有另一个具有相同用途的类似文件。)您必须删除该文件,或按照您喜欢的方式对其进行编辑。

相关内容