Тригером вызываю функцию которая в свою очередь обращается
к внешней программе (тожж на перле)
Все замечательно пока внешняя программа не пытается выполнить телнет (так нужно)
problem connecting to "127.0.0.1", port 1909: Отказано в доступе at /usr/local/bin/myproc.pl line 25
и ругаеться на эту строку
(myproc.pl line 25)
$telnetp->open(Host => $hostname,Port => 1909);
Из под пользователя postgres все работает
Из процедуры на постгресе делал whoami = postgres
Пробовал то же самое на plsh
--------------------- вопрос -----------------------
Как мы видим - присутствует ограничение на выполнение команд из самой СУБД.
Как это работает и где это отключить (хоть временно)
Посмотрите не включен ли у
Посмотрите не включен ли у вас selinux или apparmor
Если включен selinux см. файл /var/log/audit/audit.log там всё будет видно
Спасибо!
Про selinux я и не подумал!
Именно он режет доступ
type=AVC msg=audit(1286873457.951:85207): avc: denied { name_connect } for pid=12778 comm="myproc.pl" dest=1909 scontext=root:system_r:postgresql_t:s0 tcontext=system_u:object_r:port_t:s0 tclass=tcp_socket