我已经安装了jenkins,我正试图以Jenkins的身份进入shell来添加ssh密钥。我似乎无法su进入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。
6条答案
按热度按时间9nvpjoqh1#
jenkins是一个服务帐户,它没有设计一个shell。一般认为服务帐户不应该能够交互登录。
我一开始没有回答这个问题,因为它是一个重复的问题,已经被转移到服务器故障。我应该回答,而不是在评论中链接到答案。
如果出于某种原因,您希望以jenkins身份登录,则可以使用以下命令进行登录:
sudo su -s /bin/bash jenkins
tvmytwxo2#
使用以下命令:
oipij1gg3#
当我们安装Jenkins时,它创建了一个Jenkins用户,并带有=“/bin/false”
您将从cat /etc/password文件中获取该信息。
最好的方法已经在上面的回答中提到
我们还可以切换到/etc/shells文件中提到任何其他shell。
要使更改永久生效,您可以修改/etc/passwd,但强烈建议不要这样做,因为它是Apache、MySQL、Nginx等服务/应用程序用户。
i2loujxw4#
如果你在docker里面使用jenkins,那么你应该尝试以下方法。
现在,希望您将作为Jenkins用户使用。
bvjxkvbb5#
下面提到的命令对我很有效
“苏多·苏·Jenkins”
eqzww0vc6#
以超级用户身份输入 su - jenkins
此外,在 /etc/passwd 中检查是否允许用户jenkins登录:应该有类似于 /bin/bash 或 /bin/sh 的字符串,当然不应该在行尾有 /bin/false。
提示:不要同时使用 su 和 sudo。