我想在hudson中自动完成一项工作,但是hudson总是使用用户hudson来运行脚本.我想要的是以另一个用户身份运行脚本.
我查看了ServerFault的答案,但只发现了一个使用su命令的解决方案,这需要我键入目标用户的密码.这不适用于自动脚本.
任何人都可以帮助这个吗?谢谢.
解决方法
您可以使用sudo来执行此操作.首先,您需要修改/ etc / sudoers文件以添加允许hudson用户成为相关脚本的其他用户的规则.假设您有一个需要运行/usr/local/bin/my_script.sh的user1帐户.
hudson ALL=(user1) NOPASSWD: /usr/local/bin/my_script.sh
然后,使用以下sudo命令从hudson运行脚本:
sudo -u user1 /usr/local/bin/my_script.sh
使用visudo修改sudoers文件以便在将文件放入适当位置之前检查文件是否非常重要.此外,我建议您快速阅读man sudoers,以便在将其添加到您的配置之前清楚地了解上述操作.