我有一个执行apt-get的构build脚本,因此需要root权限。 在哈德森运行这个脚本的最好方法是什么?
目前唯一的解决scheme,我发现的作品是添加一个条目的sudoers文件为用户哈德森像这样:
hudson ALL=(ALL) NOPASSWD:ALL
但是,尽pipe我的构build脚本现在在Hudson中运行时没有错误,但我对这个解决scheme并不完全熟悉。 有没有更好的办法?
我进一步,lockingapt-get我locking什么参数,你可以使用,因为我们不希望有人安装或删除的东西。
%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。
您可以locking允许hudson用户以root身份执行的命令; 将sudoers文件中的行更改为:
hudson ALL=/usr/bin/apt-get NOPASSWD:ALL
(检查apt-get二进制文件的path – 我在Fedora上运行,所以没有这个命令)