對於進行多次 sudo 呼叫的腳本,只需輸入密碼一次

對於進行多次 sudo 呼叫的腳本,只需輸入密碼一次

我正在編寫一個腳本來下載建置並安裝一堆軟體包。建置有時需要一段時間,安裝需要 root 權限:

製作;須藤進行安裝

經常發生的情況是,當建置需要一段時間時,我需要不斷輸入密碼。我希望只能輸入一次。我可以使用 root 存取權呼叫腳本,但是(據我所知)它所做的每個呼叫都將具有 root 權限。我不想要這個,因為這樣,例如,創建的許多檔案和資料夾在沒有 root 存取權限的情況下無法刪除。

那麼最好的方法是什麼呢?

答案1

使用timestamp_timeout參數。使用 visudo 編輯 sudoers 檔案:

sudo visudo

並修改預設行,使其看起來像這樣:

Defaults   env_reset,timestamp_timeout=60

這會將您的密碼保留 60 分鐘。

根據需要修改這個時間:)

答案2

該腳本可以包含 sudo 呼叫本身。如果您隨後使用 sudo 運行腳本,它將覆蓋腳本中的所有 sudo,應該沒問題

相關內容