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