安装Jenkins后无法向用户jenkins求助


93

我已经安装了jenkins,并且试图以Jenkins的身份进入外壳以添加ssh密钥。我似乎无法接受詹金斯用户:

[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。


用户存在...但是可能没有外壳,请参见superuser.com/questions/566041/…–
thekbb

root时不需要sudo。虽然没有伤害。
thekbb

11
sudo usermod -s /bin/bash jenkins
jgb

1
不要在jenkins上添加外壳-它是设计遗失的外壳。通常,您不希望服务帐户能够以交互方式登录。
thekbb

Answers:


232

jenkins是一个服务帐户,根据设计它没有外壳。人们普遍认为服务帐户不应能够交互式登录。

我最初没有回答这个问题,因为它是已经移至服务器故障的一个问题重复。我应该已经回答了,而不是链接到评论中的答案。

如果出于某种原因您想以詹金斯身份登录,可以使用以下方法进行登录: sudo su -s /bin/bash jenkins


8
谢谢!我知道在詹金斯身上加壳似乎是个坏主意。我之所以这样做,是因为在构建过程中有一些命令可以从我的shell运行,但是构建失败,因为它无法运行它们。我想以詹金斯的身份进入,看看是否存在权限问题。
sfendell

编辑答案以包含@mrg有关需求的正确信息sudo
thekbb

1
是否有要求输入的默认密码,因为我不记得在安装时设置密码了。
乔·劳埃德

@mrg您使用什么密码?
纳宾2015年

@JoeLloyd您知道默认密码了吗?密码是什么?
纳宾2015年


-2

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

  • 首先,您需要运行jenkins容器 docker start(容器名称或容器ID)”

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

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


-11

以root用户身份输入su-jenkins

另外,在/ etc / passwd中检查是否允许用户jenkins登录:在行末应该有/ bin / bash/ bin / sh之类的东西,当然不是/ bin / false

提示:您不能同时使用susudo


1
那正是OP尝试的命令...您是正确的,为什么jenkins无法登录-但我不同意您的解决方案。
thekbb
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.