簡體   English   中英

安裝 Jenkins 后無法 su 到用戶 jenkins

[英]Can't su to user jenkins after installing Jenkins

我已經安裝了 jenkins,我正試圖以 Jenkins 的身份進入 shell 以添加 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 上。

jenkins 是一個服務帳戶,它沒有設計外殼。 人們普遍認為服務帳戶不應該能夠以交互方式登錄。

我最初沒有回答這個問題,因為它與已移至 server fault 的問題重復 我應該在評論中回答而不是鏈接到答案。

如果由於某種原因你想以 jenkins 身份登錄,你可以這樣做: sudo su -s /bin/bash jenkins

使用以下命令:

su -s /bin/bash jenkins

當我們安裝 Jenkins 時,它使用 = "/bin/false" 創建了一個 Jenkins 用戶

您將從 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

如果你在 docker 中使用 jenkins。 那么你應該嘗試以下方法。

  • 首先你需要運行 jenkins 容器“docker start (container-name or container-id)”

  • 然后運行這個命令“docker exec -it (container-name or container-id) bash”

現在希望您將作為 jenkins 用戶使用。

下面提到的命令對我有用

“須藤蘇詹金斯”

以 root 身份輸入su - jenkins

另外,檢查/etc/passwd是否允許用戶 jenkins 登錄:應該有/bin/bash/bin/sh之類的東西,當然不是/bin/false在行尾。

提示:不要同時使用susudo

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM