Назад | Перейти на главную страницу

Выполнить задачу сборки в Hudson с правами root

У меня есть сценарий сборки, который выполняет apt-get и поэтому требует привилегий root. Как лучше всего запустить этот скрипт в Гудзоне?

В настоящее время я нашел единственное работающее решение - добавить запись в файл sudoers для пользователя hudson следующим образом:

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, поэтому у меня нет этой команды)