Назад | Перейти на главную страницу

Запуск демона от имени пользователя без полномочий root в сценарии Upstart

У меня есть сценарий выскочки, который запускает фоновый демон, который я хочу запустить как конкретный пользователь без полномочий root.

Сценарий здесь:

Как создать сервер электронных книг Caliber в Ubuntu

Соответствующий бит находится здесь:

description "Calibre (ebook manager) content server"

start on runlevel [2345]
stop on runlevel [^2345]

respawn

env USER='myusername'
env PASSWORD='mypassword'
env LIBRARY_PATH='/home/user/calibre-library'
env MAX_COVER='300x400'
env PORT='80'

script
    exec /usr/bin/calibre-server --with-library $LIBRARY_PATH --auto-reload \
                             --max-cover $MAX_COVER --port $PORT \
                             --username $USER --password $PASSWORD
end script

Проблема: исполняемый файл calibre-server запускается от имени пользователя root. Я хочу, чтобы сам исполняемый файл запускался от имени пользователя myusername, чтобы он имел разрешения этого пользователя, а не права root.

Добавьте линии setuid <USER> и setgid <GROUP> в файл. Обратите внимание, что это не запускает процесс с <USER>Дополнительные группы.