Security
使用 root 權限在 Hudson 中執行建構任務
我有一個執行 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 上執行,所以沒有那個命令)