我试图在我的 Ubuntu 14.04 上了解一些有关 SELinux 的知识,但没有意识到它已经有 AppArmor,SELinux 在其自己的安装过程中卸载了 AppArmor。
我安装了两个软件包selinux-utils
(selinux
按顺序)。在安装过程中,selinux
我被提升为在 bash shell 中重新启动。当我按下回车键时,它继续前进并说某些安装后脚本失败。
然后我尝试重新启动,最初的错误是/
只读分区。所以我进入Grub并编辑ro
内核参数并将其更改为rw
.在它能够创建目录之后/selinux
,但现在我收到了一个不同的错误,我在下面捕获了该错误(这是由于尝试启动到单用户模式)
Begin: Running /scripts/local-bottom ... done.
Begin: Running /scripts/init-bottom ... /sbin/load_policy: Can't load policy: No such device
Warning: SELinux policy load failed, continuing
mount: mounting none on /selinux failed: No such device
Warning: Unable to mount /selinux
done.
还有一些与 相关的进一步消息plymouth-upstart-bridge
。最后又出现了一条错误信息(不确定这是否与 SELinux 有关)
[drm:intel_set_pch_fifo_underrun_reporting [i915]] *ERROR* uncleared fifo underrun on pch transcoder
我猜现在问题出在这一行mount: mounting none on /selinux failed: No such device
从我的 grub 中我可以看到它/
已打开(hd0,5)
并且.我无法理解的是,selinux 是否正在尝试安装某个设备,或者它是否认为该设备本身应该是一个设备?selinux
/
/selinux
/selinux
任何帮助将不胜感激。
答案1
我找到了解决方法。我进入 grub 启动菜单并security=selinux selinux=1
从下面删除了两个内核参数
linux /boot/vmlinuz-4.4.0-78-generic root=UUID=e2c77541-5134-497a-a180-529bfd83f38f ro quiet splash security=selinux selinux=1 $vt_handoff
这允许我启动到多用户系统,然后我卸载selinux
并更新了 grub 配置,以便将来的启动不会将selinux
参数传递给内核。
答案2
警告
自 Karmic 以来,此处记录的 Ubuntu 特定的“selinux”和“selinux-policy-ubuntu”软件包并未受到太多关注,并且似乎在 Precise 中被有效破坏。
如果您希望在 Ubuntu 中使用 SELinux,Debian 中的“selinux-basics”和“selinux-policy-default”软件包仍在积极维护中。与这些包相关的文档可以在以下位置找到http://wiki.debian.org/SELinux