有一個shell腳本(/ bin/sh,而不是bash),它需要root權限才能執行。su和sudo在shell腳本中
如果它是由普通用戶運行的,它應該詢問用戶密碼以獲得root訪問權限並重新運行自己。
現在使用下面的代碼:
if [ $(id -u) -ne 0 ]; then su root -- $0 [email protected] ; ... fi
這工作正常,但也有一些像Ubuntu操作系統,沒有root密碼的。另一方面,許多系統使用sudo來獲得root權限。
的問題是:如何能腳本檢測是否使用su
或sudo
而不要求用戶輸入過多的密碼(例如,輸入密碼sudo
,如果失敗 - 運行su
)。
這個腳本是一種安裝的 - 我不會在我的主機上運行它,但其他用戶在運行他們的機器。 – zserge 2010-10-04 15:10:58
第二部分呢?提前退出並提示他們以root用戶身份運行腳本。 – gpojd 2010-10-04 15:12:40
這是舊版本中使用的代碼。現在我試圖從腳本獲得root權限,所以用戶不必重新啓動它。似乎是一個更方便用戶 – zserge 2010-10-04 15:36:24