1、reboot重启系统
2、进入GRUB2引导菜单,按”e”键进入编辑模式

3、在linux这行最末尾,空格,输入rd.break

4、按ctrl+x启动
switch_root:/#

说明:根分区临时以只读方式挂载到/sysroot目录,使用命令mount -o remount,rw /sysroot,改为可读可写权限,才可进入根目录
switch_root:/# mount -o remount,rw /sysroot
switch_root:/# chroot /sysroot #进入真正的根目录
sh-4.4# echo redhat | passwd --stdin root #重置root密码
sh-4.4# touch /.autorelabel #创建标记文件。如关闭了selinux功能,则不用创建该文件。
sh-4.4# exit #退出
sh-4.4# exit #退出
mount -o remount,rw /sysroot
- 在系统启动出现问题,例如进入了某种紧急修复模式(如救援模式、单用户模式等)时,
/sysroot通常会初始被挂载为只读状态以确保系统的稳定性和防止数据被误修改。但当需要对/sysroot目录下的文件进行修改时(比如修复配置文件、替换损坏的系统文件等),就需要使用该命令将其重新挂载为读写模式,以便进行相应的操作。
remount选项- 它表示对已经挂载的文件系统进行重新挂载操作。在很多情况下,文件系统可能之前已经被挂载了,但是由于某些原因(比如启动阶段的临时挂载策略、系统状态变化等),需要改变其挂载的一些属性,此时就可以使用
remount选项来在不卸载该文件系统的前提下,重新应用新的挂载设置。rw选项rw代表 “read – write”,即读写模式。这意味着通过这个命令,要将/sysroot文件系统从可能之前的只读(ro,read – only)状态重新挂载为读写状态,使得系统可以对该文件系统中的文件和目录进行写入操作。
chroot /sysroot
chroot /sysroot 命令用于改变根目录(Change Root),即将当前的根目录切换到 /sysroot 所指向的目录。它创建了一个新的根目录环境,使得后续运行的命令、启动的进程等都将以 /sysroot 作为它们眼中的根目录(“/”),而不是原来系统真正的根目录。
在很多场景下,这样做的目的是为了隔离或模拟一个特定的根目录环境。比如在系统修复、软件安装测试或者创建容器化环境等操作中,通过 chroot 进入特定的目录,可以让系统操作仅局限在该目录及其子目录构成的 “虚拟根目录” 环境中,避免对真实系统根目录下的文件和配置造成不必要的干扰或影响。
- 当系统出现故障,例如某些关键的系统文件损坏或者配置出错,进入到救援模式(如 Linux 系统的 Live CD 救援环境)后,可能需要通过
chroot命令切换到真实系统的根目录(也就是/sysroot,在救援模式下通常会将真实系统的根目录挂载到这个挂载点下)。这样一来,就可以像在正常启动的系统中一样,使用系统原本的命令和工具来对损坏的文件进行修复、修改错误的配置等操作。例如,如果/etc/fstab文件出现错误导致系统无法正常挂载文件系统,进入救援模式后,通过chroot /sysroot切换根目录,然后就可以使用文本编辑器去编辑/etc/fstab文件来修复问题。
touch /.autorelabel
/.autorelabel是一个在 Linux 系统(特别是 Red Hat 系列及基于 SELinux 的系统)中具有特殊功能的文件。当这个文件存在时,它会触发系统在下次启动时执行 SELinux(Security – Enhanced Linux)上下文(context)的重新标记操作。
每个文件都有一个上下文标签,可以使用命令ls -Z查看
ls -Z 是在 Linux 系统中用于查看文件或目录的 SELinux(Security – Enhanced Linux)安全上下文信息的命令。
[root@xjc1 ~]# ls -Z
system_u:object_r:admin_home_t:s0 initial-setup-ks.cfg
unconfined_u:object_r:admin_home_t:s0 test3.sh
unconfined_u:object_r:admin_home_t:s0 Videos
unconfined_u:object_r:admin_home_t:s0 words.txt
1、SELinux 上下文和重新标记的重要性
SELinux 是一种强制访问控制(MAC)安全机制,它为系统中的每个文件、目录和进程都分配了一个安全上下文。这些上下文包含了用户、角色、类型和级别等信息,用于决定主体(如进程)对客体(如文件)的访问权限。
在某些情况下,如文件系统发生变化(例如从外部设备复制文件、更改文件系统挂载选项或者在不同的 SELinux 模式之间切换),文件的 SELinux 上下文可能会变得不一致或者不符合系统的安全策略。重新标记操作就是为了确保系统中的所有文件和目录都具有正确的 SELinux 上下文,以维护系统的安全性。
2、应用场景
- 文件系统变更后的安全修复
- 假设你将一个外部存储设备(如 U 盘)挂载到系统中,并且该设备中的文件没有 SELinux 上下文或者上下文不符合当前系统的 SELinux 策略。如果将这些文件复制到系统的本地文件系统中,可能会引入安全风险。通过创建
/.autorelabel文件并重启系统,系统会自动为这些新复制的文件以及可能受到影响的其他文件重新标记 SELinux 上下文,使其符合系统的安全要求。 - 系统策略调整后的上下文更新
- 当你对 SELinux 策略进行了修改(例如,通过修改 SELinux 策略配置文件),现有的文件系统中的文件上下文可能不再与新策略匹配。在这种情况下,创建
/.autorelabel并重启可以确保所有文件的 SELinux 上下文都根据新策略进行更新,从而保证系统按照新的安全规则运行。


