The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Как в SELinux дать httpd право на выполнение файла bin_t"
Отправлено billybons2006, 20-Апр-16 15:08 
Всем привет! Есть vds-ка: CentOS 7 / SELinux / dovecot / httpd / postfix / postfixadmin.
Postfixadmin при логине пытается запустить /usr/bin/doveadm для проверки пароля. Если SELinux выключен, все работает. Если включен, то возникают проблемы.

Вот часть лога /var/log/audit/audit.log:

type=AVC msg=audit(1461137622.601:691): avc:  denied  { read } for  pid=7329 comm="doveadm" name="dovecot.conf" dev="sda1" ino=919678 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:dovecot_etc_t:s0 tclass=file

type=SYSCALL msg=audit(1461137622.601:691): arch=c000003e syscall=21 success=no exit=-13 a0=7fabb674a800 a1=4 a2=7fabb6742050 a3=6 items=0 ppid=7300 pid=7329 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="doveadm" exe="/usr/bin/doveadm" subj=system_u:system_r:httpd_t:s0 key=(null)

type=AVC msg=audit(1461137622.601:692): avc:  denied  { getattr } for  pid=7329 comm="doveadm" path="/etc/dovecot/dovecot.conf" dev="sda1" ino=919678 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:dovecot_etc_t:s0 tclass=file

type=SYSCALL msg=audit(1461137622.601:692): arch=c000003e syscall=4 success=no exit=-13 a0=7fabb674a800 a1=7ffef3e54ac0 a2=7ffef3e54ac0 a3=19 items=0 ppid=7300 pid=7329 auid=4294967295 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=4294967295 comm="doveadm" exe="/usr/bin/doveadm" subj=system_u:system_r:httpd_t:s0 key=(null)

# ls -aZ /usr/bin/doveadm
-rwxr-xr-x. root root system_u:object_r:bin_t:s0   /usr/bin/doveadm

Само собой, httpd не дают выполнять bin_t.

# semanage fcontext -a -t httpd_exec_t "/usr/bin/doveadm"
не то, т.к. контекст бинарника "/usr/bin/doveadm" менять не надо (по идее) - он же все-таки не из httpd.

# grep dove /var/log/audit/audit.log | audit2allow -M httpd_dovecot
предлагает
allow httpd_t dovecot_etc_t:dir read;
allow httpd_t dovecot_etc_t:file { read getattr open };

странно - ни слова про doveadm...

Ну да ладно, я все же загрузил этот модуль, не помогло. Выгрузил нафиг.

Как я в итоге сформулировал задачу: надо ДОБАВИТЬ право httpd_t выполнить "/usr/bin/doveadm". Но вот забуксовал. Или задачу не так ставлю? Можете посоветовать, что делать?

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру