如何使用 grub 禁用 SELINUX?

如何使用 grub 禁用 SELINUX?

我不小心启用了 SELINUX 并重新启动了系统,而不知道其后果。现在,我无法访问我的 CENTOS 7 设备中的登录系统。

到目前为止我尝试过的:

https://serverfault.com/questions/501304/disable-selinux-permanently

kernel /boot/vmlinuz-2.6.32-358.2.1.el6.x86_64 ro root=/dev/xvda1 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto console=tty0 selinux=0

和这个

# cat /etc/grub.conf
........
    root (hd0,0)
    kernel /vmlinuz-2.6.32-279.el6.x86_64 root=/dev/md3 selinux=0
    initrd /initramfs-2.6.32-279.el6.x86_64.img
.........

但我重新启动系统后,仍然无法登录。

root=/dev/xda还有or的目的是什么/dev/md3

更新:我访问内核启动并说我应该在 grub.cfg 中设置 selinux=0,但是当我转到 grub.cfg 时,它是只读的,并且文章中的源路径与 grub.cfg 的路径不同。

答案1

您可以通过添加内核参数来禁用SELinux

selinux=0

到内核​​命令行。

如果您因为 SELinux 重新标签问题而无法启动系统,最简单的方法就是在 Grub 中临时添加此参数,即在显示 Grub 菜单时,选择右侧菜单条目,使用 、 进入条目编辑模式E,移动到内核参数行,将光标移动到末尾,追加selinux=0,然后点击CtrlX以启动修改后的条目。

下次成功引导后,您可以通过添加selinux=0到 grub 内核参数配置或SELINUX=disabled/etc/selinux/config.

/etc/default/grub在 CentOS 7 及更高版本上,您可以编辑(在密钥中)的内核参数GRUB_CMDLINE_LINUX=,然后您必须像这样重新生成 Grub 配置:

# grub2-editenv - unset kernelopts
# grub2-mkconfig -o /etc/grub2.cfg
# grub2-mkconfig -o /etc/grub2-efi.cfg

答案2

我想我需要在 grub 中输入有关源的信息。我所做的非常简单,只需键入 Ctrl+X,然后在编辑后的选定内核版本上添加 selinux=0 即可。花了几个小时寻找解决方案并探索引导加载程序来编辑 grub.cfg。抱歉,我是新手,不认为 selinux=0 只会添加到 Ctrl+X 中。

相关内容