Я новичок в SELinux. пришел из Debian. Я хочу дать httpd
доступ к каталогу.
SELinux Alert Browser предлагает:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Я не мог понять, как работает эта команда. Я нигде не указываю путь к каталогу. откуда он знает, какой каталог разрешить для httpd?
Ранее я использовал grep для извлечения текста из вывода или файла. Но здесь grep используется в процессе. Это я не получил.
Также, что является актуальным решением. Если я хочу дать httpd доступ для записи в каталог?
fedora
rhel
apache-httpd
selinux
Нил Басу
источник
источник
Ответы:
Вот как навсегда изменить контекст каталога:
Вот еще немного документации по различным контекстам для httpd:
RHEL 7: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.h
РЕЛ 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
источник
SELinux использует расширенные атрибуты, которые могут добавляться к структурам каталогов на диске. Подумайте, если это как метаданные. Списки контроля доступа (ACL), являющиеся другим.
Расширенные атрибуты, которые вам нужно добавить в каталог, называются контекстами, а SELinux действует как гаишник, следя за тем, чтобы исполняемый файл, имеющий определенные контексты, имел доступ к файловой системе на основе этих контекстов. Вы можете увидеть, что доступно в каталоге, используя
-Z
переключательls
.Здесь вы можете увидеть , что эти каталоги имеют контекст
httpd_sys_script_exec_t:s0
наcgi-bin
реж. иhtml
реж. естьhttpd_sys_content_t:s0
.Вы можете добавить их, используя
chcon
команду:Команда, о которой вы спрашиваете, просто загрузит модуль.
mypoll.pp
Я не верю, что она предоставит какие-либо разрешения для чего-либо, скорее всего, в сообщении,audit.log
которое вам не хватает с вашей командой, будет больше сообщений , которые более подробно расскажут, что вам нужно сделать, чтобы разрешить доступ.Я бы посоветовал вам уделить немного времени и ознакомиться с SELinux. Сначала это сбивает с толку, но, как правило, это просто, после того, как я провел с ним немного времени. Посмотрите ресурсы ниже, чтобы начать.
Ссылки
источник
chcon -R -t httpd_sys_content_t <dir>