linux - 如何通过 SSH 将 Sudo 与 Jenkins bash 脚本一起使用?
问题描述
我有一台物理机 (Win7) 和一台虚拟机 (Red Hat) 共享一个网络。我正在使用 Jenkins 的 SSH 插件将 bash 脚本作为 Jenkins 作业执行,以将应用程序从物理机部署到虚拟机。
由于我希望在其上执行脚本的机器上的安全策略,我无法使用 Root 用户,而是仅限于使用具有 sudo 访问权限的标准用户。
但是,我希望脚本能够不间断地运行(我认为 Jenkins 甚至不允许您在运行 bash 脚本时输入用户密码?而且,这似乎不是最佳实践)。
是否有任何方法可以绕过脚本的 sudo 请求或配置,以使该进程以我希望的方式运行?
解决方案
您可以在;中使用NOPASSWD
指令 /etc/sudoers
请参阅sudoers 手册页。
如果这不可能,您始终可以使用expect将密码(存储在帐户中的某处)提供给 sudo 进程。这也可能违反您的安全策略。您需要与制定政策的人交谈,以获取有关如何使这些工作自动化(“数字化转型”等)的建议。
推荐阅读
- ios - 在 UIScrollView 中的特定点之后,我需要在故事板中滚动浮动(固定)UIView
- eclipse - JFace 在 RadioGroupFieldEditor 附近添加一个文本框
- sql - 如何在 Oracle 存储过程中并行运行多个 SQL 语句
- c# - 想要使用 C# 应用程序使用 zkemkeeper.dll 远程打开 zkaccess 访问控制器
- java - 无法从谷歌照片中选择视频路径
- php - 访问 ddeboer/Imap 邮件头
- javascript - Hashtable 与 JavaScript 中的对象
- java - 无法读取 application.yml 文件
- python - 如何通过用户的命令行参数选择导入的 python 文件
- php - 如何使用 PHP v.5.6.24 显示来自 SQLite DB 的数据?