我不小心启用了 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 中。