GNU/Linux >> Linux の 問題 >  >> Linux

SELinux を一時的または永続的に無効にする 4 つの効果的な方法

一部の Linux ディストリビューションでは、SELinux がデフォルトで有効になっています。 SELinux の仕組みとその設定方法に関する基本的な詳細を理解していません。 SELinux を理解し、環境に実装することを強くお勧めします。ただし、SELinux の実装の詳細を理解するまでは、不要な問題を回避するために SELinux を無効にすることをお勧めします。
 
SELinux を無効にするには この記事で説明した 4 つの異なる方法のいずれかを使用できます。

SELinux は、米国国防総省が定義した Linux Security Module (LSM) を使用して定義された必須のアクセス制御を含むセキュリティ ポリシーを適用します。 Linux カーネルで。システム内のすべてのファイルとプロセスは、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

# 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

 
SELINUX の可能な値は次のとおりです。 /etc/selinux/config の変数 ファイル

  • 強制 – セキュリティ ポリシーは常に適用されます
  • 許容 – これは、警告メッセージを出力するだけで、SELinux を実際に強制しないことで、強制ポリシーをシミュレートするだけです。これは、最初に SELinux がどのように機能するかを確認し、後でどのポリシーを適用する必要があるかを理解するのに役立ちます。
  • 無効 – SELinux を完全に無効にする

 
SELINUXTYPE の可能な値は次のとおりです。 /etc/selinux/config の変数 ファイル。これは、SELinux に使用できるポリシーのタイプを示します。

  • ターゲットを絞った – このポリシーは、特定のターゲット ネットワーク デーモンのみを保護します。
  • 厳格 – これは、SELinux を最大限に保護するためのものです。

方法 3:Grub ブート ローダーから SELinux を無効にする

システムに /etc/selinux/config ファイルが見つからない場合は、以下に示すように、パラメータとして Grub ブート ローダーに渡すことで 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/targeted/booleans の変数 file.
 
以下に示すように、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

 
以下に示すように、setsebool コマンドを使用して SELinux ブール値を設定します。この変更後、必ず HTTP サービスを再起動してください。

# setsebool httpd_disable_trans 1
# service httpd restart

Linux
  1. SELinuxとは何ですか?なぜあなたはそれを無効にしたいのですか?

  2. CentOSでSELinuxを無効にする方法は?

  3. CentOS 6 で SELinux を無効にする

  1. タッチスクリーン入力を完全に無効にする– Ubuntu 16.04?

  2. RHEL/CentOS で SELinux モードを有効/無効にする方法

  3. SELinux を無効にする方法、または許可モードに設定する方法

  1. CentOS7でSElinuxを無効にする方法

  2. AlmaLinuxでSELinuxを無効にする方法

  3. SELinuxを一時的または永続的に無効にする方法