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