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