LINUX.ORG.RU

SELinux и запуск sendmail из perl-скрипта под апачем


0

0

При попытке запуска говорит Apr 13 17:48:35 **** kernel: audit(1113400115.419:0): avc: denied { execute } for pid=27761 exe=/usr/bin/perl name=sendmail dev=sda7 ino=166362 scontext=root:system_r:httpd_sys_script_t tcontext=system_u:object_r:usr_t tclass=file

Понятно, что не хватает прав на запуск sendmail'а из перлового скрипта, но как эти права дать - вот в чём вопрос. Всякие листы рассылки результата не дали.

audit2allow -i /var/log/messages выдал allow httpd_sys_script_t usr_t:file execute; Пробовал вставлять это в разные места, но без всякого эффекта. Да и ругается на перл, а права хочет дать самому httpd (или его юзеру?).

Присоветуйте как дать права на запуск внешних программ из скриптов.

anonymous

Это я поборол, но тот заменитель sendmail что используется хочет execmem. Как ему это разрешить - пока не знаю. Прописывание в booleans allow_execmem & allow_execmod не приводят к нужному результату.

Apr 13 21:53:29 *** kernel: audit(1113414809.288:0): avc: denied { execmem } for pid=30328 comm=sendmail scontext=root:system_r:httpd_sys_script_t tcontext=root:system_r:httpd_sys_script_t tclass=process

Вот такое for f in `ldd /opt/CommuniGate/sendmail | awk '{print $3}'`; do if [ -f $f ]; then if readelf -l $f | grep -q RWE ; then echo $f; fi; fi; done

выдаёт /usr/lib/libstdc++-libc6.2-2.so.3

Т.е. по идее надо сказать execstack --set-execstack /usr/lib/libstdc++-libc6.2-2.so.3

но и это не помогает

Может кто-то всё-таки знает решение?

anonymous
()
Ответ на: комментарий от anonymous

Буду разговаривать сам с собой. Нарыл что для execmem'а надо ставить версию от 7го апреля или новее.

anonymous
()
Ответ на: комментарий от anonymous

честно говоря с SELinux сильно не разбирался, но и вопрос у меня в другом, что за заменитель sendmail'a вы поставили?

mator ★★★★★
()
Ответ на: комментарий от mator

С SeLinux разобрался - поставил политику от 11 арпеля (где есть execmem) и чуть доработал напильником.

А "заменитель" - это CommenigatePro - очень хороший, но закрытый и ОЧЕНЬ дорогой. Работает бесплатно некоторое время, за которое можно купить лицензию. Ценик можно посмотреть на Зеноне (он в России им торгует). Я пока настроил только, а приобретение лицензии в стадии обсуждения. Но теперь имеет смысл об этом говорить, т.к. если бы не удалось заставить работать, то приобретать, естественно, смысла нет никакого. А заменитель сендмейла - это просто враппер, который лежит в /usr/sbin/sendmail и транслирует запросы в сам почтовик.

anonymous
()
Ответ на: комментарий от anonymous

По Selinux-тут контора слабая, единомышленников и помощи здесь не найдешь.
Если занимаешся такими секурными вещами-то возможно вот тут можно получить ответы
http:/forums.gentoo.org

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.