LINUX.ORG.RU

Запуск программы через xinetd от root'a, а на самом деле от daemon'a


0

0

Есть linux'овый application server, работающий через xinetd
как шлюз между СУБД Oracle и виндовыми клиентами (на которых
нет Oracle Client).

Так вот запускается эта программка от рута (через xinetd).
А в виндовых приложениях есть возможность просмотра сессий
и в них указано, что программа запускается от пользователя daemon
(данная инфа доступна через Oracle OCI)!

Вывод же ps auxw на сервере показывает, что программа запущена
от root'а!

На каком уровне проблема, куда копать???

Предположение 1 - у daemon и root одинаковые uid.

Предположение 2 - daemon - пользователь Oracle.

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

>Предположение 2 - daemon - пользователь Oracle.

К Oracle я логинюсь под другим логином!

Да и если с винды коннектиться с другой программы (через OCI - в 
обход application server'a), то в этом 
поле стоит Administrator!

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

>Предположение 1 - у daemon и root одинаковые uid.
id root
uid=0(root) gid=0(root) группы=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
id daemon
uid=2(daemon) gid=2(daemon) группы=2(daemon),1(bin),4(adm),7(lp)

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

Предположение 3 - у процесса euid не совпадает с uid (т.е. было изменено). Для проверки использовать что-нибудь типа "ps -eo pid,user,euser"

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

>Предположение 3 - у процесса euid не совпадает с uid (т.е. было изменено). Для проверки использовать что-нибудь типа "ps -eo pid,user,euser"

ps -eo pid,user,euser | grep daemon
Ничего не выводит :(

Ну что это за ЖОП@ такая!

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

Больше осмысленных предположений нет.

Если считать, что информация об имени пользователя передается с клиента серверу в момент коннекта (а это наиболее вероятно), то делаться это может самыми странными способами, типа анализа переменной окружения USERNAME.

Могу предложить два эксперимента. Первый - грохнуть (или переименовать) пользователя daemon. Второй - написать собственную программу, которая бы запускалась из inetd и коннектилась к Oracle; если есть под рукой пример простейшей OCIной программки, то это вполне легко.

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