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

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

各位好,本文将教你暂时或永久禁用 SELinux 的 4 种有效方法

在某些 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

方法一:暂时关闭SELinux

要暂时禁用 SELinux,您必须修改 /selinux/enforce 文件,如下所示。请注意,此设置将在系统重新启动后消失。

# cat /selinux/enforce

1

# echo 0 > /selinux/enforce

# cat /selinux/enforce

0

您还可以使用如下所示的 setenforce 命令禁用 SELinux。setenforce 命令的可能参数有:Enforcing、Permissive、1(启用)或 0(禁用)。

# setenforce 0

方法 2:永久禁用 SELinux

要永久禁用 SELinux,请修改 /etc/selinux/config 并设置 SELINUX=disabled,如下所示。对 /etc/selinux/config 进行任何更改后,重新启动服务器以考虑更改。

# cat /etc/selinux/config

SELINUX=disabled

SELINUXTYPE=targeted

SETLOCALDEFS=0

以下是/etc/selinux/config文件中SELINUX变量的可能值

强制执行– 安全策略始终强制执行

permissive - 这只是通过仅打印警告消息而不是真正执行 SELinux 来模拟​​执行策略。最好先了解 SELinux 的工作原理,然后再确定应该执行哪些策略。

disabled – 完全禁用 SELinux

以下是/etc/selinux/config文件中SELINUXTYPE变量的可能值。这表示可用于 SELinux 的策略类型。

目标- 此策略将仅保护特定的目标网络守护程序。

严格- 这是为了最大限度地保护 SELinux。

方法 3:从 Grub 引导加载程序禁用 SELinux

如果您在系统上找不到 /etc/selinux/config 文件,您可以将禁用 SELinux 作为参数传递给 Grub 引导加载程序,如下所示。

# 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,修改/etc/selinux/targeted/booleans文件中的httpd_disable_trans变量。 将 httpd_disable_trans 变量设置为 1,如下所示。

# grep httpd /etc/selinux/targeted/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

使用 setebool 命令设置 SELinux 布尔值,如下所示。确保在此更改后重新启动 HTTP 服务。

# setsebool httpd_disable_trans 1

# service httpd restart

相关推荐

微信电脑版字体大小怎么改 微信电脑版字体大小修改方法【详解】
怎么在巴士管家中进行退票?在巴士管家中进行退票的方法
Q侠6.0授权码申请指南
365bet中文客服

Q侠6.0授权码申请指南

📅 07-07 ⭐ 6169
节外生枝
www.365bet.com亚洲版

节外生枝

📅 07-05 ⭐ 654
【云课堂】《清明上河图》画的究竟是哪里
office365输入账号

【云课堂】《清明上河图》画的究竟是哪里

📅 06-29 ⭐ 4051
出国陪同翻译多少钱一天?是商务还是私人性质决定收入
推荐阅读 ❤️