昨天碰到小伙伴私信问我,如果我root的密码忘记了之类的那该怎么办呢?别急大师今天就告诉你们 如何重置 root 用户密码,让你不再担心忘记密码。
平日里让运维人员头疼的事情已经很多了,因此偶尔把Linux系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作。
但是,如果您是第一次阅读该篇文章,或者之前没有Linux系统的使用经验,请一定先跳过本节,等学习完Linux系统的命令后再来学习本节内容。
如果您刚刚接手了一台Linux系统,要先确定是否为 CENTOS7 系统。如果是,然后再进行下面的操作。
[root@localhost ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
1第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面,如图1-46所示。
图1-46 Linux系统的引导界面
2第2步:在linux16参数这行的最后面追加“rd.break”参数,然后按下Ctrl + X组合键来运行修改过的内核程序,如下方1-47图所示。
可以跳过启动的内核的挂载
可以直接修改启动的文件
图1-47 内核信息的编辑界面
init=/sysroot/bin/sh 系统安装所在分区里面 路径为/bin/sh的文件,内核启动过程中会查找系统安装所在分区,然后把该分区挂在到 /sysroot 目录下
3第3步:大约30秒过后,进入到系统的紧急求援模式,如下图1-48所示。
引导经入一个临时系统,我们可以ls查看一下当前目录文件。刚刚我们修改的挂载点在/sysroot上,注意看看当前目录下也有/sysroot。接下来我们要切换到原系统上:chroot /sysroot:
图1-48 Linux系统的紧急救援模式
4第4步:依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码localhost来登录Linux系统了。命令行执行效果如下图1-49所示。
mount-oremount,rw/sysroot
chroot /sysroot
#chroot /sysroot/ 改变根
chroot命令用来在指定的根目录下运行指令。chroot,即 change root directory (更改 root 目录)。在 linux 系统中,系统默认的目录结构都是以/,即是以根 (root) 开始的。而在使用 chroot 之后,系统的目录结构将以指定的位置作为/位置。
rootfs是根文件系统,linux系统的根目录的挂载点是/,roofs是根目录下的所有的文件集合,是一个可以运行的系统的组织。
chroot是把目标地址作为根目录来使用,这个目录下边是一个可以运行的系统组织,当然PATH中必须要有Shell才行。
sysroot是交叉编译时指定临时根目录的方式,具体形式为--with-sysroot=/path这样编译过程就会把path当成根目录,确定相对的依赖,编译后在正常的系统中也就很容易的寻找到依赖了。
passwd
touch /.autorelabel
#这句是为了使得selinux生效,否则将无法正常启动系统
exit
reboot
图1-49 重置Linux系统的root管理员密码
开启启动出错,进入救援模式
救援模式:
跟单用户模式有点类似,它需要用系统盘来启动,是一个内存操作系统。
如何进入救援模式:
1)关机
2)点右键 电源 启动时 进入bios
3)到bios里面,选择boot,把光驱放到第一位 按F10 点yes
4)选择troubleshuooting 回车 选择 rescue a centos system
5)选择continue
6)回车后,敲命令 chroot /mnt/sysimage
7)执行passwd命令
8)执行exit 然后执行 reboot 同时把光驱断开
关闭selinux
vi /etc/selinux/config
把 SELINUX=enforcing 改为 SELINUX=disabled
重启系统才会生效。
临时改selinux的策略:setenforce 0 临时关闭,重启后,还会引用配置文件里面的配置
getenforce 查看你的linux状态
“你能作茧自缚,就能破茧成蝶”
这里是软件技术大师专门分享
软件工程师成长方向和各种 tips
面试技巧、职场知识以及其他有趣的内容...
END
▼
往期精彩回顾
▼
Linux 系统入门简介(上篇)
Linux 系统 Centos7 点分享 点点赞 点在看