2014-06-26 87 views
0

我有一個bash腳本,必須由root用戶運行,但是,我希望該腳本強制用戶自動退出root。我知道你通過在命令行鍵入'exit'退出root,但是將它放入bash腳本將會退出腳本。幫助表示讚賞!以root用戶身份運行bash腳本後,如何讓腳本自動強制用戶退出root?

+0

這個問題非常適合超級用戶。 – keyser

+1

您可以使用'.'而不是'sh script.sh'來運行腳本,以便將行粘貼到當前終端中,而不是使其在單獨的子shell中運行。更好的是,使用'sudo' ... –

+0

我喜歡使用:'source' – Fallenreaper

回答

0

你可以嘗試使用由威廉

$sudo ./your.sh 
0

給出的建議,您也可以使用sudo -v在腳本的開始索要輸入sudo密碼。 和sudo -k結束清除緩存。

0

只要堅持這樣的事情你的腳本的開頭:

if [ "$(whoami)" == root ]; then 
    echo "ERROR: root cannot run this script" 
    exit 1 
fi 

這將強制執行,你只能作爲一個普通用戶和腳本退出時,您將再次成爲普通用戶運行該腳本。然後在腳本中需要root權限的每個命令前加一個sudo。通過緩存sudo憑證,腳本的用戶只需輸入一次他/她的密碼。

相關問題