Shell

我應該在我編寫的腳本中使用“sudo”嗎?

  • January 9, 2015

我正在設置一台新機器(實際上是一台 Ubuntu 虛擬機),並嘗試編寫一個腳本來設置我在執行此操作時使用的一些常見東西(Git、curl、vim + janus)。

所以我的腳本看起來有點像這樣:

#setup
#!/bin/sh
sudo apt-get install git
sudo apt-get install curl
...

將“sudo”與我的命令混在一起似乎不太好——這只是我的安全-蜘蛛俠感覺刺痛。看起來像下面這樣的東西也可能起作用:

sudo setup

有一個更好的方法嗎?當您編寫腳本並需要提升權限時,您的經驗法則是什麼?

在腳本中使用多個“sudo”呼叫沒有問題。

我發現它比以 root 身份執行整個腳本更好,因為通過將權限提升限制為真正需要它們的命令來限制風險。

我已經做到了兩種方式。我認為安全風險是相同的:如果有人編輯腳本,您將執行不需要的命令。因此,請確保寫入權限受到限制。

sudo如果我不希望整個腳本以 root 身份執行,我傾向於放入腳本。如果腳本執行時間很長(我編寫腳本來建構 gcc 或其他大型項目),多次呼叫sudo可能會多次提示使用者,這可能很煩人。

引用自:https://unix.stackexchange.com/questions/20284