我想在 hudson 中自动化一项工作,但 hudson 总是使用用户hudson来运行脚本。我想要的是以另一个用户身份运行脚本。
我查看了 ServerFault 的答案,但只找到了一个使用该su命令的解决方案,该命令要求我输入目标用户的密码。这不适用于自动脚本。
有人可以帮忙解决这个问题吗?谢谢。
您可以使用它sudo来执行此操作。首先,您需要修改该/etc/sudoers文件以添加一条规则,该规则允许该hudson用户成为相关脚本的其他用户。假设您有一个user1需要运行/usr/local/bin/my_script.sh.
运行visudo修改sudoers文件,并添加一个like:
hudson ALL=(user1) NOPASSWD: /usr/local/bin/my_script.sh
Run Code Online (Sandbox Code Playgroud)
然后,使用以下sudo命令从 hudson 运行脚本:
sudo -u user1 /usr/local/bin/my_script.sh
Run Code Online (Sandbox Code Playgroud)
这是非常,你使用的重要visudo修改sudoers文件,以便把它在发生之前检查错误文件。此外,我建议您快速通读一遍man sudoers,以便在将其添加到您的配置之前清楚地了解上述内容。
| 归档时间: |
|
| 查看次数: |
15561 次 |
| 最近记录: |