Security

使用 root 權限在 Hudson 中執行建構任務

  • May 13, 2010

我有一個執行 apt-get 的建構腳本,因此需要 root 權限。在 Hudson 中執行此腳本的最佳方式是什麼?

目前我發現唯一可行的解​​決方案是為使用者 hudson 的 sudoers 文件添加一個條目,如下所示:

hudson  ALL=(ALL) NOPASSWD:ALL

然而,雖然我的建構腳本現在在 Hudson 中執行沒有錯誤,但我對這個解決方案並不完全滿意。有沒有更好的辦法?

我更進一步,通過鎖定apt-get我鎖定了您可以使用的參數,因為我們不希望有人安裝或刪除某些東西。

%admins         ALL =  NOPASSWD:                   \
                   /usr/bin/apt-get update,        \
                   /usr/bin/apt-get dist-upgrade,  \
                   /usr/bin/apt-get upgrade

它授予組admins執行 apt-get update/dist-upgrade/upgrade 的權限,而無需提供密碼。

您可以鎖定允許 hudson 使用者以 root 身份執行的命令;將 sudoers 文件中的行更改為:

hudson   ALL=/usr/bin/apt-get  NOPASSWD:ALL

(檢查 apt-get 二進製文件的路徑——我在 Fedora 上執行,所以沒有那個命令)

引用自:https://serverfault.com/questions/141439