我使用的是 Ubuntu 12.04.5。当我尝试执行以下命令时,出现以下错误。如能提供任何帮助,我将不胜感激。
sudo apt-get install selinux selinux-policy
Package 'selinux' has no installation candidate
Unable to locate package selinux-policy
我找不到selinux
下的任何文件或文件夹/etc/
。我执行了
sudo apt-get install policycoreutils
但我也得到了错误 selinux-policy-default but it is not installable. Unable to correct problems, you have held broker packages
答案1
从https://wiki.ubuntu.com/SELinux
警告
这里记录的 Ubuntu 特定的“selinux”和“selinux-policy-ubuntu”包自 Karmic 以来没有受到太多关注,而且似乎有效地打破了精确。
如果您希望在 Ubuntu 中使用 SELinux,Debian 的“selinux-basics”和“selinux-policy-default”软件包仍在积极维护中。与这些软件包相关的文档可以在以下位置找到 http://wiki.debian.org/SELinux
有selinux 软件包但是,在 Ubuntu 中你当然可以尝试,因为它们的支持很差,没有文档记录,而且我并不指望它们开箱即用。它们很可能与 Debian 存储库中提供的软件包相同,但它们可能已针对 Ubuntu 进行了修改,在你进行固定之前绝对值得一试。首先使用 Debian selinux wiki 页面上的建议,无需 debian 存储库。
如果 Ubuntu 软件包失败,您可能希望尝试 Ubuntu selinux wiki 页面的建议并使用 Debian 软件包安装/配置 selinux,请参阅... https://wiki.debian.org/SELinux
你转到 Debian 设置页面 -https://wiki.debian.org/SELinux/Setup
运行以下命令获取默认策略和 SELinux 基本实用程序集:
apt-get install selinux-basics selinux-policy-default auditd
请注意,您必须从适当的 Debian 存储库安装它们或下载 .deb。为此,您必须添加 Debian 存储库并使用固定。
这是可用于固定的 Ubuntu 和 Debian 版本的列表。
https://help.ubuntu.com/community/PinningHowto
另请注意,来自同一个 Debian 页面:
如果使用 Ubuntu,请下载此文件
_load_selinux_policy script
(这是 Ubuntu“selinux”包中包含的脚本的稍微修改版本),将其放入/usr/share/initramfs-tools/scripts/init-bottom/
然后运行update-initramfs -u
(Debian 中的 Upstart 会自动加载 SELinux 策略,但 Ubuntu 中的 Upstart 不会。请参阅 https://bugs.launchpad.net/upstart/+bug/595774)
该错误可能会或可能不会被修复https://bugs.launchpad.net/upstart/+bug/595774(标记为已发布修复)。
然后继续
运行
selinux-activate
配置 GRUB 和 PAM 并创建 /.autorelabel重新启动,需要一段时间来标记启动时的文件系统,然后在完成后它将自动重新启动第二次。
运行
check-selinux-installation
以检查一切是否已正确设置并捕获常见的 SELinux 问题。(注意:在 wheezy 中,有关 /etc/pam.d/login 的警告是误报)
更多来自https://wiki.debian.org/SELinux/Issues
Debian 的图形/桌面安装尚未经过 selinux 的严格测试,因此您可能会遇到相当多的问题。
假设您没有运行图形桌面,那么一切可能都还好。如果您运行的是图形桌面,那么可能会出现问题。在 Ubuntu 上调试 selinux 策略最多只能得到很差的支持。
在安装 selinux 之前,另请参阅未解决的错误 -https://bugs.debian.org/cgi-bin/pkgreport.cgi?repeatmerged=no&src=refpolicy
此外,我预计由于 Ubuntu 和 Debian 之间的差异而出现问题,根据每个版本的不同,systemd、upstart 和 MIR 可能会发生冲突或没有 Debian 的 selinux 策略。
祝你好运 =) 我个人只认识一个人能够在 Ubuntu 上成功使用 selinux,而且只持续了很短的时间。
离别忠告
Ubuntu 使用 Apparmor,我强烈建议您继续使用 apparmor 而不要使用 selinux。
如果您希望在 Ubuntu 上使用 selinux,请先在测试机上进行此操作并预计会出现问题。
如果您不熟悉 selinux 和调试策略,您可能需要阅读大量资料。RHEL selinux和Fedora 的 selinux维护可用作参考的文档。
如果你必须使用 selinux 我强烈建议您使用 .rpm 系统,例如 Centos、RHEL 或 Fedora。