这里有最新的使用文档和教程
Centos7 如何进入单用户模式?修改密码
问题故障:客户忘记密码,无法进入系统,尝试通过云主机控制面板重置密码失败
单用户修改密码返回错误: -bash: /bin/passwd: Permission denied
检查处理流程:
在无法通过控制面板重置密码的情况下,进入单用户模式
进入单用户模式的方法:
1、重启后按方向键,定位到第一项引导项,按字母”e”进入编辑
2、将光标向下移,定位到linux16开头那行,然后移到ro这里,将ro改为rw ,然后在 最后的 LANG=zh_CN.UTF-8 后面加入 init=/sysroot/bin/bash ,然后 Ctrl+X 组合键,进入emergency模式
稍等即可进入单用户模式,进入单用户模式后,执行 命令chroot /sysroot/切换到原始系统
输入 passwd 回车后,提示 -bash: /bin/passwd: Permission denied 不能进行密码修改
开始检查相关passwd 权限属性:
1,检查 /etc/passwd 属性是否有i 权限,命令:lsattr /etc/passwd 结果:没问题;检查此文件是否具有root 可写权限,ll /etc/passwd 结果:没问题。
2,检查 /etc/shadow 属性是否有i 权限,命令:lsattr /etc/shadow 结果:没问题;检查此文件是否具有root 可写权限,ll /etc/shadow 结果:没问题。
3,检查 /usr/bin/passwd 属性是否有i 权限,命令:lsattr /usr/bin/passwd 结果:存在 i 属性,导致不可修改密码
处理办法,执行: chattr -i /usr/bin/passwd 回车,再次检查 属性权限,正常
4,然后执行命令 passwd 修改密码,可以正常修改密码
5,修改完密码后,还需要再输入一个命令,touch /.autorelabel,执行这一步的作用是让SELinux生效,如果不执行的话,那么我们修改的密码是不会生效的。
6,输入touch /.autorelabel命令后,按Ctrl+D组合键,再输入reboot重启系统。
系统正常启动后,测试使用新密码可以正常远程进入系统内,到此问题解决。