linux - 如何通过 SSH 将 Sudo 与 Jenkins bash 脚本一起使用?

标签 linux bash jenkins ssh redhat

我有一台物理机(Win7)和一台虚拟机(Red Hat)共享一个网络。我正在执行一个 bash 脚本作为 Jenkins 作业,使用 Jenkins 的 SSH 插件将应用程序从物理机部署到虚拟机。

由于我希望在其上执行脚本的机器上的安全策略,我无法使用 Root 用户,而是仅限于使用具有 sudo 访问权限的标准用户。

但是,我希望脚本不间断地运行(我认为 Jenkins 甚至不允许您在运行 bash 脚本时输入用户密码?此外,这似乎不是最佳实践)。

是否有任何方法可以绕过 sudo 请求或脚本配置,从而允许此进程按我希望的方式运行?

最佳答案

您可以在 /etc/sudoers 中使用 NOPASSWD 指令;查看sudoers manual page .

如果不可能,您可以随时使用 expect将密码(存储在帐户中的某处)提供给 sudo 进程。这也可能违反您的安全策略。您需要与制定政策的人交谈,以获取有关如何使这些工作自动化(“数字化转型”等)的建议。

关于linux - 如何通过 SSH 将 Sudo 与 Jenkins bash 脚本一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52609331/

相关文章:

php - php中的打包目录

php - getenv() 在浏览器中工作,但在命令行中不工作

linux - 如何在使用 bash 更改文件名和扩展名的同时将多个文件移动到一个目录?

linux - 如何在服务器 Linux 上的 Jenkins 中使用 MSBuild 创建构建 .net

git - Jenkins CI/CD - 将 Jenkinsfile 保存在我想要构建的单独存储库中

linux - OpenMPI 多个 MPI_Send 和 MPI_recv 不工作

linux - 我如何确定哪个进程正在打开某个 tcp 端口?

linux - 为什么我在执行 1 个 fork 时会得到 2 个进程?

linux - 在 Linux 中替换 bash 中的 XML 值

ant - 在 Jenkins 中增加 Findbugs 的 maxHeap arg