upstart systemd に相当する機能はありません の PermissionsStartOnly 設定。ジョブ内のすべてのプロセスは、setuid を介して設定されたユーザーとして実行されます クックブックが言うように、スタンザ。
だから、daemontools の方法で物事を行います。
setuidgid を使用 、 setuidgid 、 s6-setuidgid 、 chpst 、 runuid 、または setuidgid exec で スタンザ:
exec \ setuidgid somebody \ unicorn -D -c /opt/posty_api/unicorn.rb --env production >> /var/log/posty/upstart.log 2>&1
ところで、これはひどいロギング メカニズムです。 daemontools の方法では、multilog を使用して、適切で、自動的にサイクルされ、オンデマンドでローテーション可能で、サイズが制限されたログが作成されます。 、 multilog 、 s6-log 、 svlogd 、 tinylog 、または cyclog . upstart ただし、その expect を考えると、それらと統合するのは難しいです
expect fork exec \ setuidgid somebody \ unicorn -D -c /opt/posty_api/unicorn.rb --env production 2>&1 | \ /usr/local/bin/chdir /var/log/ \ setuidgid log \ cyclog posty/unicorn/
(chdir これは nosh からのチェーンロードのものです パッケージであり、厳密には必要ありません。しかし、それは物事をいくらか整頓します.)