最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

如何在Ubuntu Linux中恢复用户的sudo权限

XAMPP相关 admin 564浏览 0评论

介绍

我从sudo组中删除了我的管理用户。我只有一个超级用户,而且我已经取消了他的 sudo 权限。

每当我运行带有sudo前缀的命令时,都会遇到错误rumenz is not in the sudoers file. This incident will be reported

我无法使用sudo su命令切换到 root 用户。Ubuntu 中默认禁用 root 用户,因此我也无法以 root 用户身份登录。

恢复sudo权限

  • 步骤 1:将 Linux 系统引导至恢复模式。

为此,请重新启动系统并在启动时按住SHIFT键。你将看到 grub 启动菜单。从启动菜单列表中选择Ubuntu 的高级选项。

在 Grub 中为 Ubuntu 选择高级选项

在下一个屏幕中,选择recovery mode选项并按 ENTER:

在 Grub 菜单中选择恢复模式

接下来,选择Drop to root shell prompt选项并按ENTER键:

选择 drop to root shell 提示选项

你现在以 root 用户身份处于恢复模式。

Ubuntu 恢复模式
  • 第2步:以读/写模式挂载根文件系统。以读/写模式挂载根 (/) 文件系统。
mount -o remount,rw /
  • 第 3 步:现在,添加你从sudo组中删除的用户。

用以下命令将调用的用户添加rumenzsudo组中:

adduser rumenz sudo

从 Ubuntu 恢复模式恢复用户的 sudo 权限
  • 步骤 4:然后,键入exit返回到恢复菜单。选择Resume启动你的 Ubuntu 系统。
恢复正常启动

按 ENTER 继续登录正常模式:

在 Ubuntu 中退出恢复模式
  • 第 5 步:现在检查 sudo 权限是否已恢复。

为此,请从终端键入以下命令。

[sudo] password for rumenz: 
Matching Defaults entries for sk on ubuntuserver:
env_reset, mail_badpass,
secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User sk may run the following commands on ubuntuserver:
(ALL : ALL) ALL

用户rumenz现在可以运行所有带有 sudo 前缀的命令。你已成功恢复用户的 sudo 权限。

还有其他可能导致 sudo 损坏

我将自己从sudo组中移除并修复了上述损坏的 sudo 权限。

如果你只有一个 sudo 用户,不要这样做。而且,此方法仅适用于你具有物理访问权限的系统。如果是远程服务器或vps,修复起来非常困难。你可能需要托管服务提供商的帮助。

此外,还有另外两种可能导致 sudo 损坏。

  • /etc/sudoers文件可能已被更改。
  • 你或其他人可能更改了/etc/sudoers文件的权限。

修复Ubuntu中损坏的sudo

如果你已完成上述任何一项或所有操作并最终导致 sudo 损坏,请尝试以下解决方案。

  • 解决方案1:

如果你更改了/etc/sudoers文件的内容,请进入前面所述的恢复模式。

/etc/sudoers在进行任何更改之前备份现有文件。

cp /etc/sudoers /etc/sudoers.bak

然后,打开/etc/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

最后,键入exit并选择Resume以启动你的 Ubuntu 系统以退出恢复模式并继续以普通用户身份启动。

  • 解决方案2:

如果你更改了/etc/sudoers文件的权限,此方法将修复损坏的 sudo 问题。

在恢复模式下,运行以下命令为/etc/sudoers文件设置正确的权限:

chmod 0440 /etc/sudoers

为文件设置适当的权限后,键入exit并选择恢复以正常模式启动 Ubuntu 系统。最后验证你是否可以运行任何sudo命令。

转载请注明:XAMPP中文组官网 » 如何在Ubuntu Linux中恢复用户的sudo权限

您必须 登录 才能发表评论!