URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 104582
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Как сменить корень документов в Apa..."

Отправлено auto_tips , 04-Сен-15 13:10 
По умолчанию для Apache, nginx  и других http-серверов при использовании SELinux в CentOS 7 и RHEL 7 область видимости ограничена директорией /var/www. Для смены корня документов на /home/site следует включить новые директории в правила httpd_sys_content_t и httpd_sys_script_exec_t.


Включаем временно:
   chcon -R -t httpd_sys_content_t /home/site
   chcon -R -t httpd_sys_script_exec_t /home/site/cgi-bin

Включаем постоянно:
   semanage fcontext -a -t httpd_sys_content_t "/home/site(/.*)?"
   semanage fcontext -a -t httpd_sys_script_exec_t "/home/site/cgi-bin(/.*)?"
   restorecon -r -v /home/site


Отслеживаем возможные проблемы в /var/log/audit/audit.log и при необходимости строим свои правила обхода. В качестве шаблона можно использовать результат работы утилиты audit2allow:

   audit2allow -M policy_name -i /var/log/audit/audit.log
   semodule -i policy_name.pp


Не забываем открыть доступ к сетевым портам на межсетевом экране:
   firewall-cmd --permanent --add-port=80/tcp
   firewall-cmd --permanent --add-port=443/tcp


URL:
Обсуждается: http://www.opennet.me/tips/info/2915.shtml


Содержание

Сообщения в этом обсуждении
"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено Продавец_кирпичиков_из_говна , 04-Сен-15 13:10 
audit2allow -M policy_name -i /var/log/audit/audit.log
Никогда так не делай, а если делаешь - не советуй такое нигде кроме лисяры и опеннета.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено Alexander , 04-Сен-15 13:24 
А в чем проблема? Редхэт официально так советует:
https://access.redhat.com/documentation/en-US/Red_Hat_Enterp...

"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено Stax , 04-Сен-15 22:49 
В том, что не советуют они так просто делать - и по этой ссылке упомянуто несколько довольно важных нюансов. Не говоря уж о других решениях, типа setroubleshoot, который дает иногда осмысленные рекомендации об отсутствующих контекстах или boolean'ах.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено Алексей , 05-Сен-15 11:23 
Проблема в том, что этой командой вы разрешите ВСЁ без разбора.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено Alexander , 07-Сен-15 12:29 
> Проблема в том, что этой командой вы разрешите ВСЁ без разбора.

Да, согласен, автору стоило это отметить


"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено PnDx , 10-Сен-15 17:14 
Я бы примерно так делал (на примере nsd):
# Пока отлаживаем
setenforce Permissive
grep nsd /var/log/audit/audit.log | audit2allow -m nsd_ns1
# Читаем, что вышло. Осмысливаем, там _иногда_ разумно про setsebool советуют.
# По итогам, втыкаем политику ("nsd" уже есть, так что меняем имя)
grep nsd /var/log/audit/audit.log | audit2allow -M nsd_ns1 ; semodule -i nsd_ns1.pp
#Всё, проверяем
setenforce Enforcing

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено manofring , 07-Сен-15 13:36 
следовало бы еще добавить
firewall-cmd --reload
А то ведь люди (нубы) буду страдать :)

"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено leap42 , 03-Окт-15 19:38 
не надо так делать, это противоречит самой сути firewalld
firewall-cmd --add-port=80/tcp
firewall-cmd --add-port=80/tcp --permanent

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено manofring , 07-Сен-15 13:39 
И вообще раз уж вы хотите что бы юзеры могли свой контент делать в хомяках через Apache, есть готовая фича в индейце user_dirs по моему. Включаешь в конфиге Апача эту фичу и вперед, у selinux там есть булева переменная для разрешения.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено pavlinux , 14-Сен-15 02:46 
> ... при использовании SELinux

Ви таки считаете, что поделка от АНБ защитит вас лучше, чем sys_chdir() вызываемая из апача?


"Как сменить корень документов в Apache/nginx в CentOS 7 и RH..."
Отправлено Аноним , 02-Окт-15 16:41 
Просто обычные грабли уже приелись, хотят новых, вот и пишут мануалы по операциям, которые обычно даже не упомянаются ввиду абсолютной очевидности и тривиальности.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено гость , 23-Сен-15 09:46 
простите, а для чего вообще изначально вся эта затея?

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено manofring , 29-Сен-15 22:34 
3 последних комментатора - ни очем, спамеры.
Кстати никакой разницы для какого веб-сервера вы меняете root, хоть NginX хоть Apache, тип контекста selinux у них одинаковы.
Pavlinux - если начал договаривай, сказал как в тазик с водой пернул, слышно и пахнет но известно откуда оно?
последний ваще высер написал.

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено Sw00p aka Jerom , 09-Окт-15 17:56 
setenforce Disabled анбнегодует )

"Как сменить корень документов в Apache/nginx в CentOS 7 и RHEL 7 с SELinux"
Отправлено bagas , 31-Окт-15 20:26 
Жуть!, зачем так все усложнять!
Видать разроботчики хотят выпендрется, что типа они идут по другому пути развития, а в этоге просто палки в колеса сами себе вставляют.
rpm системы ужасны до неузноваемости! Не логичны!