LINUX.ORG.RU

Трабла с xinetd


0

0

Всем привет!

Я написал простенькую программу на perl'e, которая работает по
текстовому протоколу запрос-ответ.
Чтобы ещё сильнее упростить программу я решил исключить работу с 
сетью и вместо этого воспользоваться услугами суперсервера xinetd.
Прописал всё что нужно в /etc/services и /etc/xinetd.d/my_prog.

Программе можно посылать запросы (SQL) и получать ответы (в качестве
СУБД используется Oracle 10g).

Но я столкнулся с проблемой!!!
Программа my_prog запускается из скриптика my_prog.cmd (нужно только
для выставления переменных окружения).
Когда я просто запускаю скрипт
./my_prog.cmd
всё работает отлично.
Запускаю я именно от того пользователя, что указан в файле
/etc/xinetd.d/my_prog

Но стоит мне сделать следующую команду
telnet localhost <port of my_prog>
и возникает проблема коннекта к БД Oracle.

Выдаёт следующую ошибку
DBI connect('MYSID','user1',...) failed: ERROR OCIEnvNlsCreate (check ORACLE_HOME and NLS settings etc.) at ./my_prog line 16

Самое интересное то, что я вывожу хэш ENV в обоих случаях и 
значения переменных совпадают.
Запуск программы как я уже говорил происходит от одного пользователя
в обоих случаях.

Вопрос!
Почему при запуске через xinet.d программа работает некорретно?
Где портится среда, на каком уровне?

> Но стоит мне сделать следующую команду > telnet localhost <port of my_prog> > и возникает проблема коннекта к БД Oracle. А почему не netcat localhost <port of my_prog> ?

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

Поменял пользователя на root в файле /etc/xinetd.d/my_prog
и всё стало работать через telnet.

Очевидно проблема с правами?

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

Поменял пользователя на root в файле /etc/xinetd.d/my_prog
и всё стало работать через telnet.

Очевидно проблема с правами?

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