0

0

sudoers 配置语法错误导致所有用户 sudo 失效的 recovery 单用户模式

冷炫風刃

冷炫風刃

发布时间:2026-01-21 20:15:49

|

105人浏览过

|

来源于php中文网

原创

当/etc/sudoers语法错误时,sudo命令全部失效,需进grub单用户模式修复:按shift/esc调出菜单→e编辑→linux行尾加init=/bin/bash→ctrl+x启动→mount -o remount,rw /→visudo -c定位错误→vi修正→exec /sbin/reboot -f重启验证。

sudoers 配置语法错误导致所有用户 sudo 失效的 recovery 单用户模式

/etc/sudoers 文件语法错误时,sudo 会直接拒绝执行任何命令(包括 sudo susudo -i),所有普通用户将无法提权——但系统仍可正常启动和登录。此时需进入单用户模式(recovery mode)修复。

进入 GRUB 单用户模式(以 Ubuntu/Debian 为例)

重启机器,在 GRUB 启动菜单出现时按 Shift(BIOS)或 Esc(UEFI)调出菜单;用方向键选中当前内核条目,按 e 编辑启动参数;找到以 linux 开头的行,在行尾空格后添加:

  • init=/bin/bash(推荐,直接启动 bash,绕过 init 系统)
  • rd.break(RHEL/CentOS 8+)
  • systemd.unit=rescue.target(较新 systemd 系统,需 root 密码)

编辑完按 Ctrl+XF10 启动。若使用 init=/bin/bash,将直接进入 root shell,但根文件系统默认为只读。

重新挂载根分区为可写

执行以下命令(必须做,否则无法保存修复):

mount -o remount,rw /

验证是否成功:

mount | grep " / "

输出中应含 rw(而非 ro)。

修复 sudoers 文件

运行语法检查并定位错误:

Post AI
Post AI

博客文章AI生成器

下载
visudo -c

它会提示具体行号和错误类型(如 syntax error near line 25)。常见错误包括:

  • 漏掉 Defaults 或用户别名后的等号(如 Defaults env_reset 写成 Defaults env_reset 没问题,但写成 Defaults env_reset = 就错)
  • 权限行末尾多加逗号、分号或引号不匹配
  • 使用了未定义的别名(如 %webadmins ALL=(ALL) /usr/bin/systemctl,但没定义 %webadmins

vinano 编辑修复:

vi /etc/sudoers

⚠️ 务必用 visudo(而非直接 vim)编辑,因为它自带语法锁和自动备份;但单用户下 visudo 可能依赖终端环境,若报错可先用 vi 手动修正,再用 visudo -c 验证。

重启并验证

修复完成后,执行:

exec /sbin/init

或直接:

exec /sbin/reboot -f

系统重启后,用普通用户运行 sudo -lsudo whoami 测试是否恢复。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
scripterror怎么解决
scripterror怎么解决

scripterror的解决办法有检查语法、文件路径、检查网络连接、浏览器兼容性、使用try-catch语句、使用开发者工具进行调试、更新浏览器和JavaScript库或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

472

2023.10.18

500error怎么解决
500error怎么解决

500error的解决办法有检查服务器日志、检查代码、检查服务器配置、更新软件版本、重新启动服务、调试代码和寻求帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

373

2023.10.25

java中break的作用
java中break的作用

本专题整合了java中break的用法教程,阅读专题下面的文章了解更多详细内容。

120

2025.10.15

java break和continue
java break和continue

本专题整合了java break和continue的区别相关内容,阅读专题下面的文章了解更多详细内容。

261

2025.10.24

vim保存退出命令
vim保存退出命令

vim是一个非常强大的文本编辑器,常用于Unix和Linux系统。它是从vi发展而来的,相比vi有许多改进和扩展。在vim中,保存并退出的命令是:wq"wq"这个命令是由两个部分组成的。其中,"w"表示写入文件,将所做的更改保存到磁盘;而"q"表示退出vim编辑器。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

269

2023.08.01

磁盘配额是什么
磁盘配额是什么

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

1542

2023.06.21

如何安装LINUX
如何安装LINUX

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

716

2023.06.29

linux find
linux find

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

300

2023.06.30

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

44

2026.03.06

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 10.3万人学习

Git 教程
Git 教程

共21课时 | 4.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号