安装Jenkins后不能su给用户jenkins

时间:2013-08-05 21:48:09

标签: linux unix jenkins

我已经安装了jenkins,我正试图进入一个shell作为Jenkins添加一个ssh密钥。我似乎无法进入jenkins用户:

[root@pacmandev /]# sudo su jenkins
[root@pacmandev /]# whoami
root
[root@pacmandev /]# echo $USER
root
[root@pacmandev /]# 

jenkins用户存在于我的/ etc / passwd文件中。 Runnin su jenkins要求输入密码,但拒绝我的普通密码。 sudo su jenkins似乎没有做任何事情;同样适用于sudo su - jenkins。我在CentOS上。

5 个答案:

答案 0 :(得分:204)

jenkins是一个服务帐户,它没有设计的shell。通常认为服务帐户不能以交互方式登录。

我最初没有回答这个,因为它是duplicate of a question that has been moved to server fault。我应该在评论中回答而不是与答案相关联。

如果由于某种原因你想以jenkins身份登录,你可以这样做: sudo su -s /bin/bash jenkins

答案 1 :(得分:1)

使用以下命令:

su -s /bin/bash jenkins

答案 2 :(得分:0)

当我们安装 Jenkins 时,它创建了一个 Jenkins 用户,其值为 = "/bin/false"

您将从 cat /etc/password 文件中获取该信息。

cat /etc/passwd | grep jenkins
jenkins:x:995:993:Jenkins Automation Server:/var/lib/jenkins:/bin/false

@thekbb 上面已经提到了最好的方法

su - jenkins -s /bin/bash

我们也可以切换到 /etc/shells 文件中提到的任何其他 shell。

cat /etc/shells
/bin/sh
/bin/bash
/usr/bin/sh
/usr/bin/bash
/bin/tcsh
/bin/csh

要永久进行更改,您可以修改 /etc/passwd,但强烈不建议这样做,因为它是 Apache、MySQL、Nginx 等服务/应用程序用户。

jenkins:x:995:993:Jenkins Automation Server:/var/lib/jenkins:/bin/bash

答案 3 :(得分:-1)

如果在docker内部使用jenkins。然后,您应该尝试以下操作。

  • 首先,您需要运行jenkins容器   “泊坞窗开始(容器名称或容器ID)”

  • 然后运行此命令“ docker exec -it(容器名称或容器ID)bash”

现在希望您将以詹金斯用户身份使用。

答案 4 :(得分:-9)

以root用户身份输入 su - jenkins

另外,检查 / etc / passwd 是否允许用户jenkins登录:应该有类似 / bin / bash / bin / sh的内容,当然不是行尾的 / bin / false

提示:您不能同时使用 su sudo