Как отключить SELinux для Apache httpd только на моем Fedora 14?

Почему бы не устанавливать ESXI на "голом" оборудовании? Это просто в использовании, работает лучше, чем VMware Server на Linux или Windows, и можно выполнить VM Ubuntu при необходимости в том.

4
задан 15 April 2011 в 22:10
6 ответов

Для Fedora 14, как в el6, я думаю, что можно просто разгрузить http SELinux модуль путем выполнения

semodule -r httpd

Это, вероятно, сделает httpd выполненным как initrc_t или unconfined_t.

Если это не работает на F14, можно выключить булевскую переменную SELinux ('старый' путь, от el5), как это:

setsebool httpd_disable_trans 1

и используйте

setsebool -P httpd_disable_trans 1

сделать это постоянным

3
ответ дан 3 December 2019 в 02:37

Я не уверен, как Вы выключаете SELinux для единственного сервиса - я подозреваю, что Вы не можете.

Но то, что можно сделать, использовать runcon для установки апачского процесса для выполнения в неограниченном контексте.

Можно отсортировать, думают о runcon как sudoers для selinux. Это позволяет Вам указать что контекст выполнить процесс в.

Необходимо было бы изменить апачский сценарий запуска путем добавления чего-то как:

runcon unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

В часть сценария запуска httpd, который на самом деле вызывает апача.

На моем хосте Fedora FC14 я изменил бы эту строку:

LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS

Считать что-то как:

LANG=$HTTPD_LANG daemon --pidfile=${pidfile} runcon unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 $httpd $OPTIONS

PS я на самом деле не протестировал это в своем апачском сценарии запуска, таким образом, вышеупомянутое isa предположение относительно точно, куда я должен был бы поместить его, но я определенно использовал runcon, чтобы позволить процессам работать неограниченный прежде, таким образом, это будет работать, Вы просто, должна найти правильное место.

1
ответ дан 3 December 2019 в 02:37

Нет никакой булевской переменной для глобального отключения SELinux для httpd. Однако необходимо читать httpd_selinux(8) страница справочника для соответствующих контекстов файла необходимо использовать; в Вашем случае Вы хотите httpd_sys_script_exec_t или httpd_unconfined_script_exec_t, и может использовать chcon установить его временно для тестирования, и semanage установить его постоянно.

1
ответ дан 3 December 2019 в 02:37

qustion не совсем ясен - каково точно Ваше намерение?
Я предположу, что Вы не пытаетесь открыть порт HTTP, поскольку это было бы сделано с брандмауэром вместо самого Selinux.
Так, возможно, Вы надеетесь позволять httpd демону писать в некоторый каталог, который не находится под обычным корнем документа?
Если так, затем необходимо читать на полномочиях Selinux и установить их для каталогов, к которым Вы хотите получить доступ.
Вот место для чтения об этом:
http://wiki.centos.org/HowTos/SELinux

Это релевантно, потому что и Fedora и Centos связаны с Red Hat, таким образом, это, вероятно, поможет.

[Править]
Попробуйте это:
chcon-t textrel_shlib_t ThePathToTheFile

Это было предложено PabloTwo в этом сообщении:
http://www.fedoraforum.org/forum/showthread.php?t=252552

Это было также предложено IBM в этом сообщении:
https://www-304.ibm.com/support/docview.wss? uid=swg21454550

1
ответ дан 3 December 2019 в 02:37

У меня тоже была такая же проблема, когда я использовал GBrowse2. GBrowse2 сохраняет временные файлы в местах, отличных от корневого веб-сайта, и устанавливает блокировки для сеансов за пределами корневого веб-сайта. Поскольку GBrowse2 работает на Apache, SELinux позволяет httpd получать доступ / изменять каталоги вне корневого каталога. Я перешел по ссылке, приведенной в предыдущем посте:

" Вот место, чтобы прочитать об этом: http://wiki.centos.org/HowTos/SELinux "

Хотя он не дает полных инструкций о том, как решить проблему, он мне очень помог (Раздел 4: Контроль доступа SELinux). Он дал мне представление о том, как SELinux различает файлы корневого веб-сайта и файлы, не являющиеся корневыми веб-файлами. Вам необходимо изменить тип папки / файла, не являющегося корневым веб-каталогом, на тот, который совместим с типом процесса httpd. Этот тип можно установить с помощью команд, приведенных в деталях ошибки SELinux (команды semanage и restorecon). После исправления ошибки типа папки, не являющейся корневой, GBrowse2 может легко создавать новые файлы в папке, не являющейся корневой папкой, тип которой был изменен.

1
ответ дан 3 December 2019 в 02:37

Преобразование моего предыдущего комментария в ответ, в популярный спрос ;)

Из отдела "вы-учитесь-учитесь-учитесь-учитесь-учитесь-всегда": Я видел, как Дэн Уолш давал вчерашнюю презентацию, в которой он объяснил новый способ инвалидное ограничение для применения в новых выпусках Fedora и EL6. Вы больше не устанавливаете булева, чтобы отключить переход (который иногда вызывает каскад в булеане, который необходимо настроить на все работает), но вы переводите определенный тип в разрешительный режим. Вы делаете это, выполняя команду 'семаньяж разрешительный -a TYPE' (в ваш случай 'semanage permissive -a httpd_t'). Это оставляет SELinux на для httpd_t, но в разрешительном режиме. - wzzrd 20 '11 мая в 8:45

3
ответ дан 3 December 2019 в 02:37

Теги

Похожие вопросы