サービスでこのコードを試したとき
start() {
sudo -u userName "pwd" &>/home/log
}
/home/log で次の結果が得られました。
sudo: sorry, you must have a tty to run sudo
サービスは実行されませんが、サーバーの起動が完了すると、私が呼び出すとサービスが実行されます
サービステスト開始
通常、サービスはroot
ブート (または/etc/init.d/
) スクリプトから開始されます。
/bin/su
次のコマンドを(root として)使用して、ユーザーを変更できます。
/bin/su -c "pwd; id" username
setuidプログラムとsetuid(2)およびsetreuid(2)システムコールについても読んでください。時間を取ってAdvanced Linux Programmingを読み、関連する概念を理解してください。
@reboot
ユーザーのcrontab(5)のエントリも検討してください。