我无法再访问 root 帐户:用户不在 sudoers 文件中

我无法再访问 root 帐户:用户不在 sudoers 文件中

不小心删除了我的 gnome 桌面并卡在 tty1 中。尝试重新安装桌面并不断收到错误“用户不在 sudoers 文件中”。添加我的用户时遇到问题,我是 debian 新手,并且不确定如何从 tty1 正确打开/编辑 sudoers (或者实际上如何从 cmd 行编辑文件,如果有人可以借出一些细节)!

答案1

要编辑该sudoers文件,您首先需要成为 root 用户。我的猜测是,从这个问题来看,您没有为您的安装启用根访问权限,对吗?

如果是这种情况,您需要更改:

  1. 从引导加载程序提示符中,导航到您引导的常规条目。
  2. 而不是按Enterpresse先编辑内核命令行参数
  3. 在打开的编辑器中,使用箭头键找到以 开头的行linux,转到其末尾并附加到init=/bin/sh它。这将init暂时用系统的 shell 替换您的系统,并且由于是init由 root 启动的,因此这将是 root shell。
  4. CTRL+X启动修改后的条目
  5. 拥有根 shell 后,通常需要重新挂载根文件系统以读/写而不是只读。输入命令mount -o remount,rw /来执行此操作。
  6. 您可以通过输入 root 密码来启用 root 访问:使用passwd以下命令。
  7. 通常,您可以使用文本模式编辑器在文本模式下编辑文件,例如维姆或者emacs,Debian 默认情况下都没有提供。什么Debian默认情况下,ship 是一个轻量级版本,vim称为vim.tiny.
  8. 在文件的特定情况下sudoers,您应该使用 来编辑它,visudo因为它会在写入文件之前为您进行语法检查。如果您按照此过程启用 root 帐户,则不需要将常规用户添加到文件中sudoers
  9. 启用 root 访问权限后即可reboot正常启动(步骤 3 中的编辑是临时的,重新启动后就会消失)。当出现 时tty1,您可以以 root 身份登录(使用您在步骤 6 中创建的密码)并重新安装桌面。

笔记

正如 @jthill 在下面的评论中指出的,您可以选择完全不启用 root 访问权限并授予您的常规用户 sudo (这可以说更安全)。在这种情况下,passwd您应该使用:

usermod -aG regular_user_name sudo

这可能只适用于 Debian(及其衍生版本),因为它有以下条目:

%sudo ALL = (ALL) ALL

这基本上授予该sudo组的所有成员不受限制的 sudo 访问权限。上面的命令usermod旨在将您的常规用户添加到该sudo组中。对于其他发行版,不保证上述行的存在。例如,一些发行版使用名为wheel而不是用于此目的的组。sudo

相关内容