Linux
在 Upstart 腳本中以非 root 使用者身份執行守護程序
我有一個執行後台守護程序的新貴腳本,我想以特定的非 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>
的補充組開始該過程。