我有一个运行后台守护程序的新贵脚本,我想以特定的非 root 用户身份运行它。
脚本在这里:
相关位在这里:
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>
的补充组开始该过程。