2013-08-31 1 views
2

когда я попробовал этот код в моей службеИспользование Sudo в начальной CenstOS службы

start() { 
    sudo -u userName "pwd" &>/home/log 
} 

Я получил этот результат в/дома/Журнал:

sudo: sorry, you must have a tty to run sudo 

и служба не будет работать, но когда сервер заканчивает запуск, сервис будет работать, когда я называю

эксплуатационного испытания начать

+0

Какая услуга? Как кодируется программа сервера? В каком языке программирования? –

ответ

4

служба обычно начата s root от загрузки (или /etc/init.d/) скриптов.

Вы можете использовать /bin/su command (как корень), чтобы изменить пользователя:

/bin/su -c "pwd; id" username 

Читайте также о setuid программ и setuid(2) и setreuid(2) системных вызовов. Найдите время, чтобы прочитать Advanced Linux Programming, чтобы понять соответствующие концепции.

Рассмотрите также наличие записи @reboot для пользователя crontab(5).

Смежные вопросы