试验环境:
虚拟机版本:VMware Workstation 14
操作系统版本:Centos7.6.1810
1. 开启虚拟机,进入启动项界面,如下图所示:
2. 此时按e进入如下界面
3. 这里要删除掉rhgb quiet,在修改命令行如下:
4. 使用“Ctrl x”重启虚拟机,即可进入单用户模式,进入单用户模式下的界面如下图所示:
5. 接着,就可以进行修改用户密码的操作:
6. 修改密码后,运行touch /.autorelabel
这句是为了selinux生效然后执行 exec /sbin/init 重启虚拟机退出单用户模式,再次正常启动虚拟机即可。重新标记SElinux的文件系统会花费一定的时间,如下图所示:
注意事项:
1. 在启动单用户模式下,当修改密码时提示如下错误:
发生这种错误主要是因为当前文件系统是只读的文件系统,需将文件系统重新挂载,更改方式有两种,一种是在启动命令行内加上rw的参数,第二种方式是将系统分区重新挂载
如下图所示,这样就可以直接进行密码的修改了。
2. 在单用户模式下修改用户密码后必须执行重新标记SElinux文件系统的操作,否则修改密码不能够成功。
创建/.autorelabel文件的目的是在重启时修正档案目录的预设的security context,其实现是在启动时系统会判断/.autorelabel文件是否存在,如果存在,则会调用fixfiles命令对整个文件系统进行relabeling。
Selinux的相关内容可以参考:
SELINUX工作原理
SELinux访问控制机制(一)–概述