
我正在編寫一個腳本來下載建置並安裝一堆軟體包。建置有時需要一段時間,安裝需要 root 權限:
製作;須藤進行安裝
經常發生的情況是,當建置需要一段時間時,我需要不斷輸入密碼。我希望只能輸入一次。我可以使用 root 存取權呼叫腳本,但是(據我所知)它所做的每個呼叫都將具有 root 權限。我不想要這個,因為這樣,例如,創建的許多檔案和資料夾在沒有 root 存取權限的情況下無法刪除。
那麼最好的方法是什麼呢?
答案1
使用timestamp_timeout參數。使用 visudo 編輯 sudoers 檔案:
sudo visudo
並修改預設行,使其看起來像這樣:
Defaults env_reset,timestamp_timeout=60
這會將您的密碼保留 60 分鐘。
根據需要修改這個時間:)
答案2
該腳本可以包含 sudo 呼叫本身。如果您隨後使用 sudo 運行腳本,它將覆蓋腳本中的所有 sudo,應該沒問題