我使用的是 RHEL 6.5,我需要启用 SELinux。我尝试过以下命令,但它不起作用:
$ setenforce 1
$ echo 1 > /selinux/enforce
注意:我也尝试过编辑/etc/selinux/config
,但不存在这样的文件。
编辑:#1
的输出sestatus
如下:
LinuxBox root [scripts] > sestatus
SELinux status: disabled
答案1
首先搜索selinux是否安装。
rpm -qa | grep selinux, rpm -q policycoreutils, and rpm -qa | grep setroubleshoot
如果这没有显示任何内容,则安装 selinux,
sudo yum install selinux
selinux安装好后,SELINUX=permissive
在中配置/etc/selinux/config
然后最后重启电脑让selinux生效。
答案2
鉴于您使用的是 RHEL,SELinux 可能已经安装。确认:
$ rpm -aq | grep -i selinux
selinux-policy-targeted-3.12.1-74.26.fc19.noarch
libselinux-devel-2.1.13-15.fc19.x86_64
libselinux-2.1.13-15.fc19.x86_64
libselinux-utils-2.1.13-15.fc19.x86_64
selinux-policy-3.12.1-74.26.fc19.noarch
libselinux-2.1.13-15.fc19.i686
libselinux-python-2.1.13-15.fc19.x86_64
您将看到与上面类似的包。这是来自 F19,但也应该适用于您的情况。您还可以使用以下setstatus
命令进行确认:
$ sestatus
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
如果您要将 SELinux 添加到最初设置时没有使用 SELinux 的系统,则本文档中会有一条警告/注释。
如果系统最初安装时没有 SELinux,特别是后来添加到系统中的 selinux-policy 软件包,则需要执行一个额外步骤来启用 SELinux。为了确保 SELinux 在系统启动期间初始化,必须运行 dracut 实用程序以将 SELinux 感知放入 initramfs 文件系统中。如果不这样做会导致 SELinux 在系统启动期间无法启动。
在处理 RHEL 时,建议查找 Red Hat 为任何 RHEL 版本维护的优秀手册。 SELinux 有详细的文档记录,其中涵盖了您需要了解的所有内容。