> если разжевать лог это выглядит так:
> postfixadmin веб приложение, которое работает под httpd(Apache2 сервер) где в веб приложении(в
> контексте httpd сервера) вызывается административная утилита /usr/bin/doveadm где данная
> утилита обращается к своему конфигурационному файлу /etc/dovecot/dovecot.conf для выполнения
> задачи Зачем его разжёвывать? Я не говорил, что мне непонятна суть.
Мне непонятно вот что: для dovecot файл doveadm в самом деле "утилита". Но она, эта утилита, чужая для httpd. Почему стоит вопрос так, что надо утилите дать права на чтение конфига ее "хозяина" dovecot, когда по идее должен стоять вопрос как вообще httpd допущен к запуску /usr/bin/doveadm, которая bin_t. Мне это не совсем ясно.
> #ps axZ | grep httpd (отобразит текущие SELinux правила/контексты httpd процесса)
system_u:system_r:httpd_t:s0 2253 ? Ss 0:02 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2255 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2256 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2257 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2258 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2259 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
system_u:system_r:httpd_t:s0 2281 ? S 0:00 /usr/sbin/httpd -DFOREGROUND
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 3741 pts/0 S+ 0:00 grep --color=auto httpd
> вывод:
> 1- отключить SELinux (что не ахти) или переключить на Permissive или Enforcing
> 2- подружиться с SELinux (то что советуется в audit логах) при помощи
> TE(Type Enforcement) файла(писать самому или же использовать audit2allow утилиту)
Еще больше непонятно. Я же не предлагаю отключать. В вашей терминологии я с ним "дружусь" :)
>[оверквотинг удален]
> class dir read;
> }
> #============= httpd_t ==============
> allow httpd_t dovecot_etc_t:file { read getattr open };
> allow httpd_t dovecot_etc_t:dir read;
> дальше этот файл TE скомпилировать в модуль и включить в список модулей
> SELinux, будет где-то в этой папке /etc/selinux/targeted/modules/active/modules/:
> #checkmodule -M -m -o doveadmlocal.mod doveadmlocal.te
> #semodule_package -o doveadmlocal.pp -m doveadmlocal.mod
> #semodule -i doveadmlocal.pp
Там все уже скомпилировано, сразу после выполнения:
grep httpd_t /var/log/audit/audit.log | audit2allow -M doveadmlocal
и только и ждет того, чтобы подгрузили. Во-первых, я уже писал, что после этого все равно ничего не пошло, а во-вторых, я читал на нескольких форумах, что на эту утилиту полагаться всецело не надо, типа, поймите сначала, что она предлагает, а потом уже думайте. Поэтому у меня и возник вопрос о том, а почему проблема между doveadm и конфигом dovecot, а не между httpd и doveadm. Ответить на этот вопрос я не смог (к тому же стал думать, что дело в domain transitions и окончательно сбился с мыслей) и спросил здесь.
> Литература: https://wiki.centos.org/HowTos/SELinux
Спасибо! Мне больше нравится эта: https://access.redhat.com/documentation/en-US/Red_Hat_Enterp...