不小心删除了我的 gnome 桌面并卡在 tty1 中。尝试重新安装桌面并不断收到错误“用户不在 sudoers 文件中”。添加我的用户时遇到问题,我是 debian 新手,并且不确定如何从 tty1 正确打开/编辑 sudoers (或者实际上如何从 cmd 行编辑文件,如果有人可以借出一些细节)!
答案1
要编辑该sudoers
文件,您首先需要成为 root 用户。我的猜测是,从这个问题来看,您没有为您的安装启用根访问权限,对吗?
如果是这种情况,您需要更改:
- 从引导加载程序提示符中,导航到您引导的常规条目。
- 而不是按Enterpresse先编辑内核命令行参数
- 在打开的编辑器中,使用箭头键找到以 开头的行
linux
,转到其末尾并附加到init=/bin/sh
它。这将init
暂时用系统的 shell 替换您的系统,并且由于是init
由 root 启动的,因此这将是 root shell。 - 按CTRL+X启动修改后的条目
- 拥有根 shell 后,通常需要重新挂载根文件系统以读/写而不是只读。输入命令
mount -o remount,rw /
来执行此操作。 - 您可以通过输入 root 密码来启用 root 访问:使用
passwd
以下命令。 - 通常,您可以使用文本模式编辑器在文本模式下编辑文件,例如维姆或者emacs,Debian 默认情况下都没有提供。什么Debian做默认情况下,ship 是一个轻量级版本,
vim
称为vim.tiny
. - 在文件的特定情况下
sudoers
,您应该使用 来编辑它,visudo
因为它会在写入文件之前为您进行语法检查。如果您按照此过程启用 root 帐户,则不需要将常规用户添加到文件中sudoers
。 - 启用 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