1. 程式人生 > 實用技巧 >jenkins 忘記密碼或認證配置出錯後解決辦法

jenkins 忘記密碼或認證配置出錯後解決辦法

背景

我們測試環境的 Jenkins 是通過 Crowd 進行統一登入認證,授權策略採用“專案矩陣授權策略”,運維同事在配置Role-Based Strategy時出錯,導致所有使用者登入後都沒有許可權了。

解決辦法

Jenkins 的所有資訊都是儲存在 xml 檔案中,目錄為:$HOME/.jenkins,其中配置檔案資訊儲存在:$HOME/.jenkins/config.xml,使用者資訊儲存在:$HOME/.jenkins/users/admin_1669049878327248561/config.xml。

去掉安全認證(推薦)

# 終極方案,直接去掉安全認證
# 編輯 $HOME/.jenkins/config.xml,將 useSecurity 選項內容 true 改為 false
$ cat $HOME/.jenkins/config2.xml | grep -n useSecurity
12:<useSecurity>true</useSecurity>
$ sed -i "s/.*useSecurity.*/\<useSecurity\>false\<\/useSecurity\>/g" $HOME/.jenkins/config.xml

# 重啟 jenkins,重新設定安全認證或者修改使用者密碼即可

重置 admin 使用者密碼

# 編輯 admin 使用者的 config.xml 檔案,替換 passwordHash 行為如下,密碼為: 123456
$ vi $HOME/.jenkins/users/admin_1669049878327248561/config.xml
<passwordHash>#jbcrypt:$2a$10$MiIVR0rr/UhQBqT.bBq0QehTiQVqgNpUGyWW2nJObaVAM/2xSQdSq</passwordHash>

# 重啟 jenkins,用新密碼登入即可

微信公眾號:daodaotest