安装 SELinux 后系统卡住无法启动

安装 SELinux 后系统卡住无法启动

我正在尝试在 Ubuntu 18.04 上安装 SELinux,但运行以下命令后 Ubuntu 无法启动。

sudo apt install selinux 
sudo reboot

正在加载开始屏幕照片

答案1

我遇到过类似的问题。为了启动机器,我停止了 GRUB,编辑了 Ubuntu 启动项(按e),并暂时从启动参数中删除了 SELinux,正如@poige 在他的回答中

由于 AppArmor 和 SELinux 冲突,我建议按照以下步骤禁用 apparmor 并安装更多 SELinux 包:

  1. apparmor从系统中删除

    sudo systemctl stop apparmor
    sudo apt remove apparmor                   # I guess you could also just disable the service
    sudo apt update && sudo apt upgrade -yuf   # (optional) this is just to update your system without prompts
    
    • 选修的apparmor:如果您认为将来不需要它,您可以稍后清除:

      sudo apt purge apparmor
      
  2. 重启(如果再次卡在启动阶段,请编辑 GRUB 条目以进行启动)

  3. 使用一些辅助包安装 SELinux:

    sudo apt install selinux selinux-utils selinux-basics auditd audispd-plugins
    sudo sestatus           # SELinux should be disabled now
    sudo reboot
    
    • 笔记:重启系统后,SELinux 应处于宽容模式。宽​​容模式意味着任何原本不允许的操作都会被允许,但会记录在位于文件中的系统审计日志中/var/log/audit/audit.log
  4. 重启后,检查是否selinux已安装:

    $ sudo sestatus
    SELinux status:                 enabled
    SELinuxfs mount:                /sys/fs/selinux
    SELinux root directory:         /etc/selinux
    Loaded policy name:             default
    Current mode:                   permissive
    Mode from config file:          permissive
    Policy MLS status:              enabled
    Policy deny_unknown status:     allowed
    Memory protection checking:     requested (insecure)
    Max kernel policy version:      31
    

现在你应该可以使用 SELinux 并更改其设置以获得所需的安全级别。有关此内容的更多信息,请参阅在 Ubuntu 18.04 上安装 SELinux

答案2

糟糕的是,Ubuntu 不适合使用 SELinux — 他们更喜欢 Apparmor(它达不到 SELinux 的水平,采用的方法也完全不同,但那是另一个故事)。

您遇到的问题很容易修复(这是好事的部分):

  • 在启动过程中,您需要进入 GRUB 的菜单并编辑强制使用 SELinux 的内核参数:selinux=1
  • 取消设置它…=0(换句话说,用 0 替换 1)然后继续启动。

此时系统应该已成功启动,但尚未完成。


— 是时候进行长期修复了。可能是卸载 SELinux?:) 但这可能还不够。使用并检查/etc/default/grubsudo …YourEditor…如果你在那里看到

GRUB_CMDLINE_LINUX_DEFAULT="security=selinux selinux=1"

将其缩短为空字符串分配后…LT=""

然后sudo update-grub重新生成 GRUB 的配置。

答案3

有一个永久的解决办法,你只需要按下 shift 键在恢复模式下启动,然后进入终端,然后输入 disabled=1,然后无需重启即可恢复启动,然后进入 /etc/selinux,然后进入配置文件,然后默认选择将 selinux=enforcing 改为 selinux=disabled... 你的机器就可以再次启动了!

相关内容