CentOS 7的更新仍是很是大的,不少平时使用的命令已经变化了,要上手还真要一段时间。好比忘记root密码。在五、6的系统中直接进入单用户模式下,一个passwd命令修改,重启便可。可是在Centos7变化使用得Selinux限制了,并采用GRUB2为启动器时,将没法经过单用户模式重置root密码。下面将介绍如何重置CentOS7的root密码。linux
看了几个方法,都没用
由于修改密码的时候,提示是乱码 因此要求密码8位以上 本身设短了
实用方法以下:
1.在启动选择界面按E 进入编辑模式
2.在linux16 核心命令行所在参数行尾添加 空格rd.break(用上下箭头把光标放在linux16这行,按END键直接跳到行尾):
- linux16 /vmlinuz-3.10.0-229.el7.x86_64 root=/dev/mapper/centos-root \
- rord.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet\
- LANG=zh_CN.UTF-8 vga=0x340 rd.br rd.break
3.按下ctrl + x 进行shell交互模式;
4. 输入 mount 在最后一行能够看到 sysroot目录只有 ro只读权限
5.输入 mount -o remount逗号 rw /sysroot 更改权限
6.输入 chroot /sysroot 改变系统的root信息
7.输入 passwd 会提示你输入新密码两次,个人是乱码显示,不影响输入
但要注意的是
密码不能少于8位 也能够用(echo 新8位密码|passwd -stdin -root)
8.输入 touch /.autorelabel 更新 SELINUX信息,防止出错
9.输入两次 exit 退出并自动重启
若是重启完新密码不能进入系统 能够再重启几回 可能系统信息没有更新过来
等段时间就能够登陆了
下面是图文的另外一种方法,与个人区别在于不用 touch /.autorelabel更新SELINUX信息 ,而直接修改SELINUX文件内容 我是嫌命令打得太多 没用它
若是个人方法无效 能够试试这种
1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式
2. 在linux16 核心命令行所在参数行尾添加如下内容:shell
- linux16 /vmlinuz-3.10.0-229.el7.x86_64 root=/dev/mapper/centos-root \
- rord.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet\
- LANG=zh_CN.UTF-8 vga=0x340 rd.br rd.break
3.按下ctrl + x 进行shell交互模式;centos
输入两次exit后便可重启进入系统。app
提示:上面我修改密码时乱码,是由于个人环境变量是中文,因此会这样,不影响。ui
另外若是不修改/etc/selinux/config文件是进不了系统的。会有以下的错:spa
- systemd[1]: Failed to load SELinux policy. Freezing.