Centos7 误执行chmod 777

简介: Centos7 误执行chmod 777

1. 背景描述

误操作执行了chmod -R 777 /,导致普通用户无法执行sudoroot用户又无法正常登陆成功。

2. 排查发现

  • 普通用户尚未退出,但是已经无法修复权限,因为无法执行sudo ,报错:sudo: /bin/sudo must be owned by uid 0 and have the setuid bit set
  • SSH无法启动,因为文件权限too open 。

3. 解决方法

使用修复盘引导启动或者采用单用户模式,两者选其一

3.1.1 登录单用户模式

  • 重启服务器,在选择内核界面使用上下箭头移动
  • 选择内核并按e进入编辑界面
  • 找到 linux16 vmlinuz… 那行, 按 end 移动到最后, 空一格加入 init=/bin/bash,删除rhgb quiet`
  • Ctrl + x 开机,即可进入单用户模式。
  • 将根目录挂载为读写模式:mount -o remount,rw /

3.1.2 修复盘挂盘修复

mount /dev/vda1后修改如下几个文件权限

  •  chmod 600 /mnt/etc/securetty
  •  chmod 600 /mnt/etc/ssh/ssh_host*
  •   chmod -R 600 /mnt/var/empty/sshd

重启后可以解决SSH无法启动和root 用户登录问题

3.2 恢复默认权限设置

方式一: 利用rpm包的默认权限设置来恢复

推荐

  1. for i in `rpm -qa`; do rpm --setperms $i; done
  2. for i in `rpm -qa`; do rpm --setugids $i; done

方式二:利用acl权限恢复

通过系统自带的getfacl命令来拷贝和还原系统权限,修复的方法如下:

  1. # 通过一台权限正常的Linux(最好内核版本和故障服务器相同)来获取系统权限列表
  2. getfacl -R / > systemp.bak
  3. 将systemp.bak拷贝至目标机
  4. # 异常服务器中执行恢复权限命令
  5. setfacl --restore=systemp.bak
  6. # 重启系统
  7. reboot
相关文章
|
存储 JavaScript 前端开发
Vue3如何优雅的跨组件通信
Vue3如何优雅的跨组件通信
510 0
|
存储 监控 C语言
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
在西门子S7-1200中有四种类型的定时器:TON接通延迟定时器、TONR保持型接通延迟定时器、TOF关断延迟定时器、TP脉冲定时器。
西门子S7-1200编程实例,关断延迟定时器指令如何使用?
|
8月前
|
人工智能
2025数字人短视频工具TOP5榜单:从入门到进阶的必备神器 
随着人工智能技术的快速发展,数字人短视频工具正成为内容创作领域的重要助力。从入门级简单操作到进阶专业应用,各类工具功能各异。本文将为您揭晓2025年最值得关注的五款数字人工具,助您轻松选择最适合的创作伙伴。
|
存储 API 开发工具
DeepSeek 3FS解读与源码分析(5):客户端解读
本文深入解析了3FS的客户端模式,包括FUSE Client和Native Client(USRBIO)。
DeepSeek 3FS解读与源码分析(5):客户端解读
|
Web App开发 数据可视化 JavaScript
Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
817 0
Spring Boot 2.x基础教程:使用 ECharts 绘制各种华丽的数据图表
|
算法 网络协议 安全
HTTP/2 协议的缺点是什么?
HTTP/2 协议的缺点是什么?
736 13
|
机器学习/深度学习 数据可视化 自动驾驶
YOLO11-seg分割:具有切片操作的SimAM注意力,魔改SimAM助力分割
本文创新地对SimAM注意力机制进行魔改,引入切片操作,显著提升了小目标特征提取能力。针对SimAM在计算整张特征图的像素差平均值时可能忽略小目标重要性的问题,通过切片操作增强了小目标的加权效果。实验结果显示,魔改后的SimAM在YOLO11-seg上的Mask mAP50从0.673提升至0.681,有效改善了小目标检测性能。
1760 2
|
Java 测试技术 Maven
5个编写技巧,有效提高单元测试实践
结合单测的实践,本文总结了几点单元测试的好处与编写技巧,希望分享给大家。
26823 50
5个编写技巧,有效提高单元测试实践
|
存储 人工智能 负载均衡
分布式存储的数据冗余
【7月更文挑战第28天】分布式存储的数据冗余
996 4
|
IDE 前端开发 JavaScript
Prettier与ESLint:代码风格与质量的自动化保证
这两个工具协同工作以确保代码一致性。Prettier负责自动格式化,包括缩进、引号等,而ESLint执行静态分析,检查潜在错误和风格。Prettier配置文件如`.prettierrc`,ESLint配置如`.eslintrc.js`。安装它们并集成,例如使用`eslint-plugin-prettier`和`eslint-config-prettier`。在提交前,可通过husky和lint-staged在本地自动运行格式化和检查。IDE中配置插件可实现实时反馈。自定义规则和选择共享配置(如airbnb)以适应项目需求,并在CI流程中集成以保持高标准。
686 1