LINUX.ORG.RU

Только ногами не пинайте!


0

0

Приветик! Вот, созрел вопрос: как из inittab и иже с ним (/etc/rc.d/*) запускать сервисы с EUID и EGID _не_ рута, а какого-либо юзверя (например, nobody)? Пока спасает только suid-бит и chown nobody.nobody соотв. бинарика, что не есть гуд :(


пример:
/bin/su --login -c 'lsnrctl stop listenerjaba' oracle

вообщем man su

Z0termaNN
()

ОК, su - это хорошо, но мне надо например сам oracle как демон запустить с правами EUID oracle и EGID oracle (бинарик, то бишь). Но это еще не все: еще надо скрипт шелловый запустить из /etc/rc.d/* тоже с такими же правами (EUID oracle и EGID oracle), т.е. чтобы все манипуляции с файлами, производимые этим скриптом, были от юзера oracle и группы oracle. Неужели кроме su ничего нет? не верю... С inittab, допустим, можно su oracle -c "/usr/local/bin/oracle", а в rc.-скрипте как EUID/GID менять? Он-то из-под рута запускается! В общем, ситуация help...

Druker
() автор топика

ОК, su - это хорошо, но мне надо например сам oracle как демон запустить с правами EUID oracle и EGID oracle (бинарик, то бишь). Но это еще не все: еще надо скрипт шелловый запустить из /etc/rc.d/* тоже с такими же правами (EUID oracle и EGID oracle), т.е. чтобы все манипуляции с файлами, производимые этим скриптом, были от юзера oracle и группы oracle. Неужели кроме su ничего нет? не верю... С inittab, допустим, можно su oracle -c "/usr/local/bin/oracle", а в rc.-скрипте как EUID/GID менять? Он-то из-под рута запускается! В общем, ситуация help...

Druker
() автор топика

Может man sudo и man sudoers поможет? Я только спросил :-(

anonymous
()

У мну такая же ситуация, только не oracle запускать надо, а BigBrother (sh скрипт) с правами специально созданного под него юзера (bb). Пока ничего не придумал, приходится ручками :((((

anonymous
()

Единственное, до чего додумался, так это принудительная смена прав на файл после каждой операции с ним (пример): echo >> /var/log/some.log; chown oracle.oracle /var/log/some.log А это очень криво, как вы понимаете... На бинарики поставил chown oracle.oracle xx; chmod +s xx. PS: по-поводу sudo/sudoers - ситуация прямо противоположная: не юзеру надо рутовые права дать, а рут, собаку, ограничить...

Druker
() автор топика

Не, кстати, для бинарника su вполне подходит. А вот как бы скрипт шелловый запустить с нужными правами?

anonymous
()

sudo -u oracle <command> вполне из-под рута не пробовал? Странно, мне казалось, что подойдет. Сорри :-( Кстати, у рута она пароль как-то и не спрашивает с конфигом типа root ALL=(ALL) ALL. Ну да и ладно.

anonymous
()
14 марта 2001 г.

Может я и ошибаюсь, но мочему вместо su не сделать жесткую ссылку на шеловский екзешник например в /bin/vasya_shell этому линку назначить соответствующие права.
А в скрипте писать так:
#!/bin/vasya_shell

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