centos7修改密码

时间:2024-04-02 12:24:24

我实验室电脑的centos7本来使用好好的,在我又加装了一个ubuntu,不知道是不是因为我在ubuntu上编译替换了kernel的原因,我重新登录centos后发现,root认证失败,自己的用户名没了管理员权限,我又比较懒,肯定不会重装系统啊,便开始了寻找修改密码方法。

1、su: Authentication failure

centos7修改密码

提示用户认证失败。

2、xxx is not in the sudoers file. This incident will be reported

在上一步提示用户认证失败后,为想到sudo命令

centos7修改密码

没想到提示不在管理员中。

了一些资料感觉系统的用户文件应该被重置了,因为centos默认没有开启管理员。

3开始修改启动文件,使用单用户模式

参考了很多文章,感觉我都不适应,我卡死在内核文件启动(End  trace),最后看到了一篇国外的blog:

http://www.tejasbarot.com/2014/08/06/rhel-7-centos-7-recovering-root-password/

1)启动系统:看到引导界面,多个系统,选择我们需要的centos,根据提示按‘e’进入编辑:

centos7修改密码

2)在linux行尾添加参数init=/bin/sh

centos7修改密码

执行Ctrl-x或F10进行引导

3)出现shell提示符:

centos7修改密码

使用密码修改命令发现出现错误,因为系统文件只读不可写。

4)使用mount系统挂载命令:mount -o remount,rw /

centos7修改密码

挂载完成,重新使用修改密码命令,提示密码更新成功。由于我设的密码没有8个字符系统会警告,不过不影响。

5)修改完成,初始化系统或重新启动系统使用exec执行脚本

centos7修改密码

先使用touch /.autorelabel,自动更新,否则无效。图中使用了系统初始化,初始化完成会重新回到系统选择界面,可能有时初始化时间比较长,等待就好。

6)登录测试,用户授权测试:

先切换root,输入刚刚修改的密码:

centos7修改密码

管理员切换成功,说明我们修改成功。

使用visudo对普通用户授权:

centos7修改密码

在root下加入想要授权用户,保存离开。

使用sudo再测试是否授权成功:

centos7修改密码

成功,说明授权成功。(su和sudo是不同的命令,后面将介绍)

4、卡死在内核启动:End trace

有人说修改完成可以使用exit退出shell,继续启动,我卡死了。

我在第一次自己修改时先find / -name reboot找到reboot所在目录,然后执行exec /xxx reboot当时成功了,并且直接重启进入,在写这篇blog时发现又卡死,有点尴尬,然后使用了exec /sbin/init,可以成功。

不知道是不是因为centos的版本不同吧,希望也有相同困扰的,一起交流一下解决方法。