Linux sudo 配置错误导致系统不可用的恢复方案

大静君_6998

大静君_6998

2026-02-23

821人浏览

原创

恢复 sudo 功能有四种方法:一、GRUB 单用户模式下以 root 修复;二、Live USB 挂载原系统 chroot 修复;三、切换其他 sudo 用户修复;四、recovery mode 进入 root shell 修复。

linux sudo 配置错误导致系统不可用的恢复方案

如果您在修改 /etc/sudoers 文件后因语法错误或权限配置不当导致 sudo 命令失效,甚至无法以普通用户身份执行特权操作,则系统可能陷入无法通过常规方式修复的状态。以下是恢复 sudo 功能的多种可行方案:

一、使用 root 用户直接登录并修复

该方法适用于系统仍允许 root 用户本地登录(如未禁用 root shell 或未移除 root 密码)的情形。通过 root 身份绕过 sudo 限制,直接编辑 sudoers 文件。

1、重启系统,在 GRUB 启动菜单界面按 e 键进入编辑模式。

2、定位到以 linux 开头的行,在其末尾添加 init=/bin/bash 并按 Ctrl+X 启动单用户模式。

3、执行 mount -o remount,rw / 重新挂载根文件系统为可写状态。

4、运行 visudo 或 nano /etc/sudoers 修正语法错误。

5、执行 exec /sbin/init 重启初始化进程以恢复正常启动流程。

二、从 Live CD/USB 环境挂载原系统修复

当 root 登录不可用或 GRUB 被锁定时,借助外部 Linux 运行环境访问原系统磁盘,可安全修改关键配置文件而无需依赖当前系统的权限机制。

1、使用 Ubuntu、CentOS 或其他发行版的 Live USB 启动系统。

2、打开终端,执行 lsblk 识别原系统根分区(例如 /dev/sda2)。

3、创建挂载点并挂载: sudo mkdir /mnt/recovery && sudo mount /dev/sda2 /mnt/recovery。

4、挂载必要虚拟文件系统: sudo mount --bind /dev /mnt/recovery/dev && sudo mount --bind /proc /mnt/recovery/proc && sudo mount --bind /sys /mnt/recovery/sys。

5、切换到原系统环境: sudo chroot /mnt/recovery。

6、运行 visudo 检查并修复 /etc/sudoers 中的语法错误或非法条目。

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载

三、利用具有 sudo 权限的备用账户恢复

若系统中存在其他已被正确配置为 %sudo 组成员或拥有显式 sudo 权限的非 root 用户,可在不中断当前会话的前提下,切换至该账户完成修复。

1、在当前终端中输入 su - username,其中 username 是另一个具备 sudo 权限的账户名。

2、输入该账户密码完成切换。

3、执行 sudo visudo 验证是否能正常调用编辑器并保存更改。

4、检查 /etc/sudoers 文件中是否存在重复别名、缺失 Defaults 行、或误删了 %sudo ALL=(ALL:ALL) ALL 类似的关键授权语句。

5、确认无误后保存退出,再测试原问题账户的 sudo 功能。

四、通过 recovery mode 进入 root shell 修复

多数主流发行版(如 Ubuntu、Debian)在 GRUB 中提供 recovery mode 选项,该模式默认以 root 权限启动最小化环境,并自动挂载根文件系统为可写状态,适合快速介入修复。

1、重启系统,在 GRUB 菜单中选择 Advanced options for Ubuntu(或其他对应发行版名称)。

2、选择带有 (recovery mode) 标识的内核版本。

3、在 recovery menu 中选择 root Drop to root shell prompt。

4、执行 mount -o remount,rw / 确保根分区可写(部分版本已自动完成)。

5、运行 visudo 打开 sudoers 编辑器,定位并删除或修正引发错误的行。

6、键入 exit 返回 recovery menu,再选择 resume Resume normal boot 重启系统。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

4330

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3653

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2913

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

7170

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

6802

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3893

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

3385

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

3619

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

297

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习