最近服务器有点诡异,密码明明正确,可是突然就登录不进去了,后来问了运维小伙伴,说是可能是触发到Linux的某个安全策略,root密码被系统强制修改,禁止远程登录了,具体情况自己也不清楚。这里简单记录下自己如何解决的,方便日后查看,既然远程登陆root用户容易触发安全策略,那就给系统添加一个其他的用户,并让他拥有root的权限即可。具体参考另一篇文章,这里主要记录密码错误,无法登录的情况下如何进入系统修改密码。
添加用户让其拥有root权限 可参照这篇文章:Linux Centos7下创建sudo用户 拥有root用户的操作权限
详细步骤如下:
重启服务器
启动系统,在GRUB2引导画面(选择版本的时候)通过键盘上下键↑↓,选择。然后按E键,编辑引导项
删除参数
这里需要删除linux16这一行最后的 rhgb和 quiet参数(在UEFI系统中是linuxefi),删除rhgb和quiet这两个参数是为了显示系统信息。如图。
添加参数
添加以下参数:rd.break enforcing=0
在64位IBM Power Series是linux这一行尾;在x86-64 BIOS引导的系统中是linux16这一行尾;在UEFI引导的系统中是linuxefi这一行尾,如图:
进入引导
删除参数并添加完参数后,按CTRL+X用改变的参数引导系统。如图
重新挂载文件
在/sysroot/文件系统被挂载为只读时,你不能改变密码,因为文件系统为不可写入。重新挂载文件系统为可写入。
执行口令:
mount -o remount,rw /sysroot
修改密码
文件系统被重新挂载为可写,改变文件系统的root,并修改密码。
chroot /sysroot
passwd
更新文件
更新password文件会导致SELinux安全上下文文件错误。键入以下命令在下次系统引导前重新标记所有文件:
touch /.autorelabel
重新挂载为只读
mount -o remount,ro /
初始化
键入exit命令退出chroot环境:
exit
再次键入exit命令完成初始化,完成系统引导。
exit
到这里密码修改完成,初始化需要一段时间,然后提示用户登录,重新登录输入新的密码即可。