В некоторых дистрибутивах Linux SELinux включен по умолчанию, что может вызвать некоторые нежелательные проблемы, если вы не понимаете, как работает SELinux, и основные сведения о том, как его настроить. Я настоятельно рекомендую вам понять SELinux и реализовать его в своей среде. Но, пока вы не поймете детали реализации SELinux, вы можете захотеть отключить его, чтобы избежать некоторых ненужных проблем.
Чтобы отключить SELinux, вы можете использовать любой из 4 различных методов, упомянутых в этой статье. SELinux будет применять политики безопасности, включая обязательные меры контроля доступа, определенные Министерством обороны США, с использованием модуля безопасности Linux (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
Чтобы временно отключить SELinux, вы должны изменить файл /selinux/enforce, как показано ниже. Обратите внимание, что этот параметр пропадет после перезагрузки системы.
# cat /selinux/enforce 1 # echo 0 > /selinux/enforce # cat /selinux/enforce 0
Вы также можете использовать команду setenforce, как показано ниже, чтобы отключить SELinux. Возможные параметры для команды setenforce: Enforcing, Permissive, 1 (включить) или 0 (отключить).
# setenforce 0
Чтобы навсегда отключить SELinux, измените /etc/selinux/config и установите SELINUX=disabled, как показано ниже. Когда вы внесете какие-либо изменения в /etc/selinux/config, перезагрузите сервер, чтобы изменения были учтены.
# cat /etc/selinux/config SELINUX=disabled SELINUXTYPE=targeted SETLOCALDEFS=0
Ниже приведены возможные значения для SELinux переменной в /etc/selinux/config файл
Ниже приведены возможные значения переменной SELINUXTYPE в файле /etc/selinux/config . Это указывает тип политик, которые можно использовать для 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
Если вы не заинтересованы в отключении всего SELinux, вы также можете отключить SELinux только для определенной службы. Например, отключите SELinux для службы HTTP / Apache, измените переменную httpd_disable_trans в файле /etc/selinux/target/booleans .
Установите для переменной 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
Установите логическое значение SELinux с помощью команды setsebool, как показано ниже. Обязательно перезапустите службу HTTP после этого изменения.
# setsebool httpd_disable_trans 1 # service httpd restart
Продолжая использовать данный сайт вы принимаете политику конфиденциальности и cookies