サービスはデフォルトroot
で、RHELボックスの起動時に起動します。私が正しく思い出した場合、同じことがのinitスクリプトを使用する他のLinuxディストリビューションにも当てはまります/etc/init.d
。
代わりに、プロセスを私の選択した(静的)ユーザーとして実行する最良の方法は何だと思いますか?
私が到達した唯一の方法は、次のようなものを使用することでした:
su my_user -c 'daemon my_cmd &>/dev/null &'
しかし、これは少し乱雑に見えます...
他の非rootユーザーとしてサービスを自動的に開始する簡単なメカニズムを提供する、ちょっとした魔法が隠れていますか?
編集:私がこのインスタンスで開始しているプロセスは、PythonスクリプトまたはJavaプログラムのいずれかであると言っておくべきでした。それらの周りにネイティブラッパーを記述したくないので、残念ながら、Blackが示唆するように、setuid()を呼び出すことができません。