【linux】修复Linux系统权限问题:一步步恢复sudo功能

在管理Linux系统时,有时我们可能会遇到令人困惑的权限问题。最近,我就遇到了一个棘手的情况:sudo命令突然无法使用,而且其他一些关键系统命令也出现了异常。经过深入调查,我发现这是由于系统关键文件的权限被错误地设置所导致的。在这篇文章中,我将分享我是如何诊断并解决这个问题的。

问题症状

首先,让我们回顾一下我遇到的具体问题:

  1. sudo命令无法正常使用,总是提示权限错误
  2. su命令无法切换用户
  3. mount和umount命令可能无法正常工作

原因分析

经过检查,我发现问题的根源在于多个系统关键文件(如/bin/su、/bin/mount等)的权限被错误地设置为0755,缺少了必要的SUID位(4000)。正常情况下,这些文件的权限应该是4755。

让我们深入解释一下这些权限表示:

0755 权限

数字表示:0755
符号表示:rwxr-xr-x

拆解说明:

  • 所有者(u):rwx(读、写、执行)
  • 组用户(g):r-x(读、执行)
  • 其他用户(o):r-x(读、执行)

数字对应:

  • r (读) = 4
  • w (写) = 2
  • x (执行) = 1
  • 7 (rwx) = 4 + 2 + 1
  • 5 (r-x) = 4 + 0 + 1

4755 权限

数字表示:4755
符号表示:rwsr-xr-x

拆解说明:

  • SUID位:s(在所有者执行位置)
  • 所有者(u):rws(读、写、执行 + SUID)
  • 组用户(g):r-x(读、执行)
  • 其他用户(o):r-x(读、执行)

数字对应:

  • 4000 (SUID) = 4 * 1000
  • 0755 (普通权限) = 同上

SUID(Set User ID)位的作用是允许普通用户以文件所有者的权限执行该文件。这对于像 sudo 这样需要提升权限的命令来说是至关重要的。

在我们的案例中,关键系统文件失去了 SUID 位,导致普通用户无法获得执行这些命令所需的提升权限,从而引发了一系列的问题。

解决步骤

1. 进入系统恢复模式

首先,我们需要进入系统的恢复模式。对于我使用的超微服务器,进入BIOS的方法比较特殊:

  1. 首次开机后立即关机
  2. 第二次开机时,不需要按任何键,系统会自动进入BIOS
  3. 在BIOS中进入UEFI设置
  4. 当Ubuntu开始启动时,立即按住shift键进入GRUB菜单
  5. 选择恢复模式(Recovery Mode)
  6. 在恢复模式菜单中选择root选项,进入root shell

2. 修复文件权限

进入root shell后,我们就可以开始修复文件权限了。以下是具体步骤:

# 检查并修复sudo权限
ls -l /usr/bin/sudo
chmod 4755 /usr/bin/sudo

# 检查并修复su权限
ls -l /bin/su
chmod 4755 /bin/su

# 检查并修复mount和umount权限
ls -l /bin/mount /bin/umount
chmod 4755 /bin/mount /bin/umount

# 检查其他重要的系统命令
ls -l /usr/bin/pkexec /usr/bin/passwd /usr/bin/chsh

# 如果发现其他命令权限不正确,使用类似的方法修复
# chmod 4755 /path/to/command

3. 重启并验证

完成上述步骤后,是时候重启系统并验证修复是否成功了:

# 重启系统
reboot

# 登录后,测试sudo功能
sudo echo "Test successful"

# 测试su功能
su - anotheruser

# 可以再测试mount和umount命令

预防措施

为了避免future再次发生类似的问题,我建议采取以下预防措施:

  1. 定期检查关键系统文件的权限
  2. 在进行系统更新或安装新软件后,验证关键命令的功能
  3. 使用文件完整性检查工具(如AIDE)定期扫描系统
  4. 保持系统日志的清晰,以便于追踪可能的问题原因

结语

通过这次经历,我深刻认识到了正确的文件权限对于Linux系统稳定运行的重要性。希望这篇文章能够帮助遇到类似问题的朋友们。记住,在修改系统文件权限时要格外小心,如果不确定,最好先咨询有经验的系统管理员。

你们遇到过类似的问题吗?欢迎在评论区分享你的经验!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/881407.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

21、Tomato

难度 低(个人认为中) 目标 root权限 一个flag 使用VMware启动 kali 192.168.152.56 靶机 192.168.152.66 信息收集 端口信息收集 可以看到有个ftp服务,2211实际是ssh协议端口,80、8888是一个web服务 web测试 80端口显示一个tomato 查看源码给了一些…

opencv图像透视处理

引言 在图像处理与计算机视觉领域,透视变换(Perspective Transformation)是一种重要的图像校正技术,它允许我们根据图像中已知的四个点(通常是矩形的四个角)和目标位置的四个点,将图像从一个视…

软件安装攻略:EmEditor编辑器下载安装与使用

EmEditor是一款在Windows平台上运行的文字编辑程序。EmEditor以运作轻巧、敏捷而又功能强大、丰富著称,得到许多用户的好评。Windows内建的记事本程式由于功能太过单薄,所以有不少用户直接以EmEditor取代,emeditor是一个跨平台的文本编辑器&a…

聊城网站建设:企业如何打造高效官网

聊城网站建设:企业如何打造高效官网 在互联网飞速发展的今天,官方网站已成为企业展示形象、推广产品、与客户沟通的重要平台。尤其对于聊城地区的企业来说,建立一个高效的官网显得尤为重要。本文将分享一些关键步骤,帮助企业打造一…

MapReduce基本原理

目录 整体执行流程​ Map端执行流程 Reduce端执行流程 Shuffle执行流程 整体执行流程 八部曲 读取数据--> 定义map --> 分区 --> 排序 --> 规约 --> 分组 --> 定义reduce --> 输出数据 首先将文件进行切片(block)处理&#xff…

人工智能快速发展下的极端风险管理

文章目录 前言一、快速进步与高风险并存1、深度学习系统缺乏关键功能,其开发周期尚不明朗2、自主人工智能系统一旦导向不良目标,人类可能面临其失控风险 二、技术研发方向调整1、实现安全人工智能的基础性突破,确保人工智能可靠安全2、实现有…

shopro前端 短信登录只显示模板不能正常切换

删掉 换成下面的代码 // 打开授权弹框 export function showAuthModal(type smsLogin) {const modal $store(modal);setTimeout(() > {modal.$patch((state) > {state.auth type;});}, 100); }

Python酷库之旅-第三方库Pandas(123)

目录 一、用法精讲 546、pandas.DataFrame.ffill方法 546-1、语法 546-2、参数 546-3、功能 546-4、返回值 546-5、说明 546-6、用法 546-6-1、数据准备 546-6-2、代码示例 546-6-3、结果输出 547、pandas.DataFrame.fillna方法 547-1、语法 547-2、参数 547-3、…

AI+教育|拥抱AI智能科技,让课堂更生动高效

AI在教育领域的应用正逐渐成为现实,提供互动性强的学习体验,正在改变传统教育模式。AI不仅改变了传统的教学模式,还为教育提供了更多的可能性和解决方案。从个性化学习体验到自动化管理任务,AI正在全方位提升教育质量和效率。随着…

【OJ刷题】双指针问题6

这里是阿川的博客,祝您变得更强 ✨ 个人主页:在线OJ的阿川 💖文章专栏:OJ刷题入门到进阶 🌏代码仓库: 写在开头 现在您看到的是我的结论或想法,但在这背后凝结了大量的思考、经验和讨论 目录 1…

技术周总结 09.09~09.15周日(C# WinForm WPF 软件架构)

文章目录 一、09.09 周一1.1) 问题01: Windows桌面开发中,WPF和WinForm的区别和联系?联系:区别: 二、09.12 周四2.1)问题01:visual studio的相关快捷键有哪些?通用快捷键编辑导航调试窗口管理 2…

Python Selenium 自动化爬虫 + Charles Proxy 抓包

一、场景介绍 我们平常会遇到一些需要根据省、市、区查询信息的网站。 1、省市查询 比如这种,因为全国的省市比较多,手动查询工作量还是不小。 2、接口签名 有时候我们用python直接查询后台接口的话,会发现接口是加签名的。 而签名算法我…

细胞分裂检测系统源码分享

细胞分裂检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

计算机人工智能前沿进展-大语言模型方向-2024-09-20

计算机人工智能前沿进展-大语言模型方向-2024-09-20 1. Multimodal Fusion with LLMs for Engagement Prediction in Natural Conversation Authors: Cheng Charles Ma, Kevin Hyekang Joo, Alexandria K. Vail, Sunreeta Bhattacharya, Alvaro Fern’andez Garc’ia, Kailan…

[数据集][目标检测]智慧交通铁轨裂缝检测数据集VOC+YOLO格式4类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):2709 标注数量(xml文件个数):2709 标注数量(txt文件个数):2709 标注…

独立站技能树/工具箱1.0 总纲篇丨出海笔记

正所谓要把一件事做到90分很难,但做到60分基本上照着SOP做到位都没问题,如果我们能把每件事都做到60分,那绝对比至少60%的人都强,除非你的对手不讲武德——那就是他很可能看了我这篇文章,不但每方面都超过及格线&#…

fiddler抓包06_抓取https请求(chrome)

课程大纲 首次安装Fiddler,抓https请求,除打开抓包功能(F12)还需要: ① Fiddler开启https抓包 ② Fiddler导出证书; ③ 浏览器导入证书。 否则,无法访问https网站(如下图&#xff0…

将sqlite3移植到arm开发板上:

一、下载源代码 sqlite3网址:https://www.sqlite.org/download.html 下载:sqlite-autoconf-3460100.tar.gz 二、解压 在Linux家目录下创建一个sqlite3文件夹,将压缩包复制到该文件夹下,再在该目录下打开一个终端,执行…

【Linux】简易日志系统

目录 一、概念 二、可变参数 三、日志系统 一、概念 一个正在运行的程序或系统就像一个哑巴,一旦开始运行我们很难知晓其内部的运行状态。 但有时在程序运行过程中,我们想知道其内部不同时刻的运行结果如何,这时一个日志系统可以有效的帮…

【路径规划】 红嘴蓝鹊优化器:一种用于2D/3D无人机路径规划和工程设计问题的新型元启发式算法

摘要 本文提出了一种新型元启发式算法——红嘴蓝鹊优化器(RBMO),用于解决2D和3D无人机路径规划以及复杂工程设计问题。RBMO灵感来源于红嘴蓝鹊的群体合作行为,包括搜索、追逐、捕猎和食物储藏。该算法通过模拟这些行为&#xff0…