一份菜单

暂时或永久禁用SELinux的4种有效方法

在RedHat Linux上禁用SELinux在某些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

如果您喜欢这篇文章,您可能还会喜欢..

  1. 50个Linux Sysadmin教程
  2. 50个最常用的Linux命令(包括示例)
  3. 排名前25位的最佳Linux性能监视和调试工具
  4. 妈妈,我找到了! 15个实用的Linux Find命令示例
  5. Linux 101 Hacks第二版电子书 Linux 101黑客手册

Bash 101 Hacks书 Sed和Awk 101黑客手册 Nagios Core 3书 Vim 101黑客手册

{ 11 评论… 加一 }

  • 吉尔 2009年6月1日,下午5:39

    谢谢… I’我一直在使用Ubuntu,最好是SELinux还是AppArmor?

  • 拉梅什·纳塔拉詹(Ramesh Natarajan) 2009年6月4日,上午12:54

    @吉尔
    SELinux和AppArmos都拥有它’自身的优势。请参阅有关此比较文章 SELinux与AppArmor

  • 希拉克 2009年8月19日,上午2:34

    谢谢
    非常感谢你的这本书
    这本书我非常适合我使用
    谢谢

  • 拉维 2011年6月15日,下午4:26

    简要了解selinux概念非常有用。

  • 纳韦尔 2011年7月31日,下午3:18

    我有setsebool问题 httpd_disable_trans 1
    "Could not change active booleans: Invalid boolean"

  • 无名 2012年6月4日,下午12:55

    不对。

    方法1:
    回声0> / selinux / enforce
    实际上将SELinux切换为宽松模式。
    检查以下两个命令(RHEL / CentOS)的输出:
    1)selinuxenabled |回声$? #0表示启用了selinux,1– 残障人士
    2)getenforce#将打印“禁用” |“强制” |“允许”之一

    方法1:
    setenforce 0
    检查‘man setenforce’
    该命令不会禁用SELinux,而是将其切换到许可模式
    通过selinuxenabled轻松验证& getenforce

    因此,请告诉我您是否找到一种无需重启即可禁用SELinux的方法。

  • 金克斯 2012年7月21日,上午6:47

    请详细解释SELinux。

  • radi 2013年1月12日,下午7:50

    谢谢。现在,我的疑虑已经消除。 ðŸ™,

  • h 2013年8月26日,下午4:30

    这有点过时了。 / selinux /不’当今大多数基于Fedora / RHEL的系统上都不存在

  • 阿米尔 2013年8月29日,上午7:21

    本指南仅适用于RHEL,不适用于Linux….

  • Neuer1 2015年7月27日,下午1:36

    很棒的文章。 Selinux非常烦人。默认情况下应永久禁用。

发表评论