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