web-dev-qa-db-ja.com

特定のユーザーとしてスクリプトを実行するための初期化スクリプト

/apps/data/service/bin/startup.sh

これは、RHELの起動中に実行するスクリプトです。ランレベル3でのみ実行したい。

そして、このスクリプトを特定のユーザーとして開始したいのです。例:appadmin

それで、これを達成するための推奨される方法は何ですか?私はこれについてたくさんの記事を読みました、そして私は今混乱しています。

/ etc/init.dの下に/ apps/data/service/bin/startup.shのソフトリンクを作成するだけスクリプトを開始するのに十分ですか?私の理解は正しいですか?

スクリプトを特定のユーザーとして実行したいので、以下のようにinit.dの下にファイルを作成する必要がありますか?

su appadmin -c "/apps/data/service/bin/startup.sh" 

そしてそれを実行可能にしますか?

2
Being Gokul

あなたは間違いなく/etc/init.d/functionsdaemonという素敵な関数があります。指定したユーザーとしてプログラムを実行します。

例:

daemon --user=your_user /apps/data/service/bin/startup.sh &>/dev/null & ← or some logfile maybe…

他のサービスからコピーできるInitスクリプト;-)

HTH、乾杯

3
Scyld de Fraud