Linux
如何在系統啟動時從 rc.local 執行非特權腳本?
我已經使用幾個腳本設置了我
/etc/rc.local
的啟動一些服務,以便在重新啟動時啟動我的系統。一個腳本以 root 身份執行並啟動 nginx、mysql、php 等……並且工作正常。
其他東西以我的普通使用者身份執行,所以我正在執行 sudo,它似乎在啟動時不起作用。在引導過程的這個階段以非特權使用者身份執行是否有問題?
我的 rc.local 看起來像這樣 -
#!/bin/sh touch /var/lock/subsys/local # main system start - web server, db etc... /root/start-services.sh # services run as me /usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh
在系統啟動時執行腳本,一切正常。但是在啟動時 start-app.sh 中的任何服務都沒有啟動,我在任何日誌中都找不到任何錯誤的痕跡。
我在這裡做錯了什麼?
嘗試:
su USER -c 'command &'
您應該嘗試
/usr/bin/sudo -u tim /home/vhosts/myapp/bin/start-app.sh 2>&1 1>/tmp/start-app.log
將 stdout 和 stderr 寫入文件。