У меня есть сценарий выскочки, который запускает фоновый демон, который я хочу запустить как конкретный пользователь без полномочий 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>
Дополнительные группы.