让 sudo 要求输入密码

让 sudo 要求输入密码

安装 DevStack 后,我被迫将我的用户设置为 root 并获得访问权限。我这样做了,现在我想撤消它。我删除了该行visudo但仍然没有成功。想要逆转的是以下内容:使用 Ubuntu 并使用我的用户(“USER”)登录,当我打开终端时,我执行命令sudo -i,系统要求我输入密码才能获得 root 访问权限。在我使用 DevStack 进行更改后,当我执行命令时sudo -i,不会要求我输入任何密码,我只具有 root 访问权限(我不喜欢这样)。有什么方法可以将其更改回来,以便当我执行命令时sudo -i会要求我输入密码?

至于添加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"

# 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

如果您希望被允许以 root 身份运行命令,但系统会提示您输入您自己的密码,则可以sudo通过运行该visudo程序来编辑配置。这将打开您最喜欢的文本编辑器来编辑 sudo 配置文件。查找授权您以 root 身份运行命令的行并删除NOPASSWD:该行中的文本。保存文件并退出编辑器。

如果您不想在不输入以下命令的情况下以 root 身份运行命令密码,然后按照与上面相同的过程进行操作,但删除该行而不是仅仅NOPASSWD:从中删除。然后,要以 root 身份运行命令,请使用su代替sudo并键入 root 密码。在执行此操作之前,请确保您知道 root 密码!

您可能被允许通过 sudo 以 root 身份运行命令,因为某些规则允许您的用户(以您的用户名开头的行),或者因为某些规则允许您所属的组(以百分号开头的行和组名称,例如%admin …)。如果您想将自己从该组中删除,请运行,例如。更改组成员身份不会影响您当前的会话,它将在您下次登录时生效。deluser username groupnamedeluser alice admin

请注意,如果sudo要求您输入密码,它在接下来的几分钟内不会再次询问您(IIRC 在 Ubuntu 上默认为 15 分钟)。根据配置的不同,sudo 可能会为每个终端保留一个单独的密码延迟,或者为每个用户保留一个密码延迟。

相关内容