当前位置: 首页 > 知识库问答 >
问题:

以root用户身份运行jenkins中的shell命令?

卫博雅
2023-03-14

我最近开始使用Jenkins进行集成。在没有shell命令的情况下在主节点上运行作业之前,一切都很好,但我必须在主节点和从节点上运行作业,从节点包含要运行的shell命令。我无法以root用户身份运行这些shell命令。我试过了

  1. 使用SSH密钥
  2. 在shell命令中设置用户名
  3. 使用sudo

每次使用上述任何一种方法时,我都会遇到权限被拒绝错误。

共有3个答案

狄凯
2023-03-14

对于Linux,请尝试执行以下步骤:-

这对我有用。

>

  • sudo vi /etc/default/jenkins

    $JENKINS\u USER=“root”

    sudo chown-R root:root/var/lib/jenkins

    sudo chown-R root:root/var/cache/jenkins

    sudo chown-R root:root/var/log/jenkins

    服务jenkins重启ps-ef | grep jenkins

  • 郎雪风
    2023-03-14

    您需要修改jenkinsuser的权限,以便运行shell命令。您可以安装jenkins as服务(下载rpm包),您可能需要更改端口,因为默认情况下,它在8080上运行http,在8009端口上运行AJP。

    以下过程适用于CentOS
    1。打开此脚本(使用VIM或其他编辑器):

    vim /etc/sysconfig/jenkins
    

    2.找到此$JENKINS\u用户并更改为“root”:

    $JENKINS_USER="root"
    

    3.然后改变詹金斯家,webroot和日志的所有权:

    chown -R root:root /var/lib/jenkins
    chown -R root:root /var/cache/jenkins
    chown -R root:root /var/log/jenkins
    

    4)重新启动Jenkins并检查用户是否已更改:

    service jenkins restart
    ps -ef | grep jenkins
    
    司寇善
    2023-03-14

    我建议不要将jenkins用户作为root用户运行。这可能会暴露操作系统和jenkins可以构建的所有回购协议。

    以root身份运行任何脚本都存在安全风险,但是一个稍微安全一点的方法是授予jenkins用户sudo权限,只运行一个脚本,而不需要密码。

    sudo visudo
    

    并增加以下内容:

    jenkins    ALL = NOPASSWD: /var/lib/jenkins/jobs/[job name]/workspace/script
    

    通过失败构建脚本的控制台日志仔细检查您的路径。这里显示的是默认值。

    现在在jenkins任务中,您可以调用sudo$WORKSPACE/你的脚本

     类似资料:
    • 问题内容: 我最近开始使用Jenkins进行集成。一切都很好,直到我在没有shell命令的情况下在主节点上运行作业,但是我必须在包含shell命令的主节点和从属节点上运行作业。我无法以root用户身份运行这些Shell命令。我努力了 使用。 在shell命令中设置用户名。 使用。 我得到我每次使用任何上述方法时错误。 问题答案: 您需要修改用户的权限,以便您可以运行shell命令。您可以将jenk

    • 我正在尝试以root用户身份运行脚本。这是我的密码 它在出错 我也遵循了这些方法,但最终出现了错误

    • 我使用Ansible安装了Nginx。要在Centos7上安装,我使用了yum软件包,因此默认情况下它是以root用户身份运行的。我希望它在Centos中以不同的用户(前nginx用户)身份启动和运行。当我尝试与其他用户一起运行时,会出现以下错误: nginx的工作。服务失败,因为控制进程已退出,错误代码为。有关详细信息,请参阅“systemctl status nginx.service”和“j

    • 我正在Docker中制作python Django应用程序的简单图像。但是在构建容器的末尾,它抛出了下一个警告(我正在Ubuntu 20.04上构建):

    • 本文向大家介绍以非root用户身份运行Docker容器,包括了以非root用户身份运行Docker容器的使用技巧和注意事项,需要的朋友参考一下 当您在Docker容器中运行应用程序时,默认情况下,它有权访问所有root特权。您可能已经注意到,当打开Ubuntu Docker Container Bash时,默认情况下您以root用户身份登录。在应用程序的安全性方面,这可能是一个主要问题。任何局外人

    • 问题内容: Docker 博客文章指出: 默认情况下,Docker容器是相当安全的。特别是如果您要以非特权用户(即非root用户)的身份在容器内运行进程。” 那么,如果我以root用户身份在docker下运行,安全问题是什么?我的意思是,如果我以非特权用户身份处理我的进程,这是非常安全的,那么,以root用户身份托管在容器中怎么会对我有害?我只是想让它理解它,如果以root身份运行时它不安全,那么