实践:Linux用户、组和密码相关文件被破坏如何恢复系统

我们先看一下用户用户组和密码相关文件:
|
1
2
3
4
5
6
7
8
9
|
[root❄centos7 ~]☭ ll /etc/passwd* /etc/shadow* /etc/group* /etc/gshadow*
-rw-r--r--. 1 root root 988 May 28 02:34 /etc/group
-rw-r--r--. 1 root root 975 May 28 02:29 /etc/group-
----------. 1 root root 801 May 28 02:34 /etc/gshadow
----------. 1 root root 790 May 28 02:19 /etc/gshadow-
-rw-r--r--. 1 root root 2247 May 28 02:19 /etc/passwd
-rw-r--r--. 1 root root 2247 May 28 02:19 /etc/passwd-
----------. 1 root root 1257 May 28 02:19 /etc/shadow
----------. 1 root root 1262 May 28 02:19 /etc/shadow-
|
我们可以看到每一个文件都有一个带-后缀的文件。如果我们不小心破坏了原来的文件,可以用后面的带-文件恢复,基本上能恢复所有的账号和密码。
下面进行破坏
CentOS 7 破坏模拟
1、 在/etc/passwd文件的首行root行加注释#,保存退出:
|
1
2
|
#root:x:0:0:root:/root:/bin/bash
...
|
2、 然后重启服务器,发现进不去系统。
3、 然后我们重启下,然后再按e修改启动方法:

4、 进入到这个界面后,找到linux16那行:

5、 在这行的尾部添加init=/bin/bash,然后按<Ctrl-x>后启动:

6、 然后我们进入bash:

7、 这时候系统是无法写入的,我们要重新以rw的模式remount一下,命令为mount -o rw,remount /

8、 我们可以修复被修改的/etc/passwd文件,记得先给原/etc/passswd做个备份,然后再复制/etc/passwd-文件去覆盖/etc/passwd,(如果有其他文件如/etc/shadow等被破坏,也可以用此方法)

tips:备份是个好习惯,更改重要文件前最好都要先备份下。
9、重启服务器(reboot,init,shutdown等重启命令都无法使用,只能硬重启),正常进入操作系统。

CentOS 6 破坏模拟
1、 在/etc/shadow文件的首行root行加注释#,保存退出:

2、 然后重启服务器,发现可以进入系统,但是输入root密码后,提示不正确(不输入密码直接进也进不去)。

3、 然后我们重启下,在这个界面按任意键进入启动菜单:

4、按a修改启动内核启动参数:

5、进入到这个界面后,在后面输入init=/bin/bash,然后按回车:


6、 然后我们进入bash:

7、 这时候系统是无法写入的,我们要重新以rw的模式remount一下,命令为mount -o rw,remount /(和CentOS 7 一样,就不贴图了)
8、 我们可以修复被修改的/etc/shadow文件,记得先给原/etc/shadow做个备份,然后再复制/etc/shadow-文件去覆盖/etc/shadow,(如果有其他文件如/etc/shadow等被破坏,也可以用此方法)(和CentOS7 一样,就不贴图了)
tips:备份是个好习惯,更改重要文件前最好都要先备份下。
9、重启服务器(reboot,init,shutdown等重启命令都无法使用,只能硬重启),正常进入操作系统。
实践:Linux用户、组和密码相关文件被破坏如何恢复系统的更多相关文章
- linux基础命令--userdel 删除用户帐户和相关文件
描述 userdel命令用于删除用户帐户和相关文件. userdel命令修改系统账户文件,删除所有涉及用户的信息,指定的用户(LOGIN)必须存在. 语法 userdel [options] LOGI ...
- Linux用户登录记录日志和相关查看命令汇总
# 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...
- Linux用户登录记录日志和相关查看命令汇总(转)
# 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /var/run/utmp:记录当前正在登录系统的用户信息,默认由who和w记录当前登录用户的信息,uptime记 ...
- (转)Linux用户登录记录日志和相关查看命令汇总
原文地址:http://www.cnblogs.com/lizhaoxian/p/5981029.html # 1 utmp.wtmp.btmp文件 Linux用户登录信息放在三个文件中: 1 /va ...
- linux中用户信息及密码相关知识
在linux中若修改用户信息.密码,组群信息.密码等.其实是在修改/etc/passwd,/etc/shadow,/etc/group,/etc/groupshadow等文件的内容. 这四个文件的意思 ...
- linux初级学习笔记七:linux用户管理,密码和组命令详解!(视频序号:04_1)
本节学习的命令: 用户管理命令:useradd,userdel,id,finger,usermod,chsh,chfn,passwd,pwck, 组管理命令:groupadd,groupmod,gro ...
- linux用户权限、系统信息相关命令(待学)
用户权限相关命令 目标 用户 和 权限 的基本概念 用户管理 终端命令 组管理 终端命令 修改权限 终端命令 01.用户和权限的基本概念 1.1 基本概念 用户 是Linux系统工作中重要的一环, 用 ...
- linux 用户、用户组及相关命令(useradd 、passwd、userdel 、groupadd 、groupdel、usermod 、gpasswd 、 id、su)
linux是一个多用户系统,用于权限管理(权限最小化); 相关命令: 7 8 9 10 11 12 13 14 15 useradd passwd userdel groupadd groupdel ...
- Linux与user和group相关文件分析
/etc/passwd LOGNAME:PASSWORD::UID:GID:USERINFO:HOME:SHELL 注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 ()注册名(l ...
随机推荐
- 记一次flannel调试
今天发现k8s集群中不同Node上的pod不能互相ping通.调试了很长时间,发现是flannel的问题,记之. 问题一:对flannel backend的选择 flannel支持多种backend, ...
- golang struct结构体初始化的几种方式
type User struct { Id int `json:"id" orm:"auto"` // 用户名 Username string `json:&q ...
- python-Web-django-短信登陆
until: import json, urllib from urllib.parse import urlencode # 发送短信 def request2(mobile,num, m=&quo ...
- python-阿里镜像源-pip
将pip源设置为国内 >>>windows 1 地址栏输入%appdata% 2 新建pip文件价 3 文件夹里建pip.ini 内容: [global] timeout = 600 ...
- 5分钟快速安装Redmine项目管理软件
公司还在使用Excel.project.word来管理项目吗?时间一长.项目参与的人多.就出现了断断续续无法连续跟踪的问题.终于忍受不了公司这种陈旧的项目管理手段了,于是花了一些时间研究了市面上常见的 ...
- Oracle Express Edition
Oracle Express Edition(简洁版/开发版)非注册下载安装及SQL*Plus的简单使用 https://www.cnblogs.com/cjw1115/p/6209439.html ...
- mysql——插入、更新、删除数据(概念)
一.插入数据 1.为表的所有字段插入数据 -------------------------------------------------------------------------- (1)i ...
- pikachu-SQL注入
参考网址: http://www.mamicode.com/info-detail-2795438.html
- Visual Basic 中读取逗号分隔的文本文件
TextFieldParser 对象提供一种可以轻松而高效地分析结构化文本文件(如日志)的方法. TextFieldType 属性用于定义文件是带分隔符的文件还是具有固定宽度文本字段的文件. Dim ...
- [Python3] 040 文件 一般使用
目录 文件 1. open 函数 2. with 语句 3. 先写再读 3.1 写 3.2 读 4. "位置"的查询与移动 4.1 tell() 4.2 seek(cookie, ...