Я використовую останню версію для запуску для ubuntu 10.4 LTS. на початку запущено прапор ядра --debug.
Я створюю власну конфігурацію роботи для демона nzbget. В основному, це завдання має сценарій перед запуском, який монтує файлову систему, сценарій після запуску, який відключає файлову систему та exec nzbget -D
рядок.
Проблема полягає в тому, що демон nzbget повинен працювати як неприхований користувач. Ця функція вже включена в nzbget. Дійсно, коли я запускаю з консолі, sudo nzbget -D
процес працює як непривілейований користувач. Але коли я запускаю завдання на початку роботи з exec nzbget -D
рядком, процес nzbget -D працює як root. Як сказано в початковій кулінарній книзі, я спробував використовувати користувача su -c "nzbget -D", а також як start-stop-демон, так і без строфи очікування, як пропонувалося. Але для обох команд, як upstart відстежує неправильний PID, я думаю, що він бачить основний процес вбитим (завдяки журналам upstart) наприкінці процесу запуску, і, таким чином, він запускає сценарій після процесу, який я не хочу.
=> Як я можу це зробити правильно? Як це так, що exec nzbget -D
команда upstart змушує процес запускати як rootsudo nzbget -D
команда змушує його запускатись як неприхований користувач?