在某些Linux发行版中,默认情况下启用SELinux,如果您不这样做,可能会导致一些不必要的问题’不了解SELinux的工作原理以及有关如何配置它的基本细节。我强烈建议您了解SELinux并在您的环境中实现它。但是,在您了解SELinux的实现细节之前,您可能希望禁用它以避免某些不必要的问题。
至 禁用SELinux 您可以使用本文提到的4种不同方法中的任何一种。
SELinux将执行安全策略,包括美国国防部使用Linux内核中定义的Linux安全模块(LSM)定义的强制访问控制。系统中的每个文件和进程都将标记有SELinux将使用的特定标签。您可以使用ls -Z并查看这些标签,如下所示。
# ls -Z /etc/ -rw-r--r-- root root system_u:object_r:etc_t:s0      a2ps.cfg -rw-r--r-- root root system_u:object_r:adjtime_t:s0  adjtime -rw-r--r-- root root system_u:object_r:etc_aliases_t:s0 aliases drwxr-x--- root root system_u:object_r:auditd_etc_t:s0 audit drwxr-xr-x root root system_u:object_r:etc_runtime_t:s0 blkid drwxr-xr-x root root system_u:object_r:bluetooth_conf_t:s0 bluetooth drwx------ root root system_u:object_r:system_cron_spool_t:s0 cron.d -rw-rw-r-- root disk system_u:object_r:amanda_dumpdates_t:s0 dumpdates
方法1:暂时禁用SELinux
要临时禁用SELinux,您必须修改/ selinux / enforce文件,如下所示。请注意,该设置在系统重启后将消失。
# cat / selinux / enforce 1 # 回声0> / selinux / enforce # cat / selinux / enforce 0
您还可以使用如下所示的setenforce命令禁用SELinux。 setenforce命令的可能参数为:Enforcing,Permissive,1(启用)或0(禁用)。
# setenforce 0
方法2:永久禁用SELinux
要永久禁用SELinux,请修改/ etc / selinux / config并设置SELINUX = 残障人士,如下所示。您对/ etc / selinux / config进行任何更改,然后重新启动服务器以考虑更改。
# cat / etc / selinux / config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
以下是可能的值 赛灵思 在变量 / etc / selinux / config 文件
- 强制执行 –安全策略始终得到执行
- 宽容的 –这仅通过仅打印警告消息而不实际执行SELinux来模拟执行策略。首先了解SELinux的工作原理,然后确定应该执行哪些策略,这是很好的。
- 残障人士 –完全禁用SELinux
以下是可能的值 赛灵思TYPE 在变量 / etc / selinux / config 文件。这表明可以用于SELinux的策略类型。
- 有针对性的 –此策略将仅保护特定的目标网络守护程序。
- 严格 –这是为了最大程度地保护SELinux。
方法3:从Grub引导加载程序禁用SELinux
如果你可以的话’t在系统上找到/ etc / selinux / config文件,您可以通过将禁用SELinux作为参数传递给Grub Boot Loader来传递禁用SELinux,如下所示。
# cat /boot/grub/grub.conf default=0 timeout=5 splashimage=(hd0,0)/boot/grub/splash.xpm.gz hiddenmenu title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5PAE) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5PAE ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5PAE.img title Enterprise Linux Enterprise Linux Server (2.6.18-92.el5) root (hd0,0) kernel /boot/vmlinuz-2.6.18-92.el5 ro root=LABEL=/ rhgb quiet selinux=0 initrd /boot/initrd-2.6.18-92.el5.img
方法4:在SELinux中仅禁用特定服务– HTTP/Apache
如果您对禁用整个SELinux不感兴趣,则也可以仅对特定服务禁用SELinux。例如,不要为HTTP / Apache服务禁用SELinux,修改 httpd_disable_trans 在变量 / etc / selinux / 有针对性的 / booleans 文件。
如下所示,将httpd_disable_trans变量设置为1。
# grep httpd / etc / selinux / 有针对性的 / booleans httpd_builtin_scripting=1 httpd_disable_trans=1 httpd_enable_cgi=1 httpd_enable_homedirs=1 httpd_ssi_exec=1 httpd_tty_comm=0 httpd_unified=1
如下所示,使用setsebool命令设置SELinux布尔值。确保此更改后重新启动HTTP服务。
# setsebool httpd_disable_trans 1 # service httpd restart
如果您喜欢这篇文章,您可能还会喜欢..
![]() |
![]() |
![]() |
![]() |
谢谢… I’我一直在使用Ubuntu,最好是SELinux还是AppArmor?