問題背景
nexus3 的 admin 賬號密碼忘記了,需要重置,
環境說明
nexus 基于 docker-compose 部署,版本 nexus3.26
docker 鏡像 sonatype/nexus3:3.26.1
操作步驟
參考: https://support.sonatype.com/hc/en-us/articles/213467158-How-to-reset-a-forgotten-admin-password-in-Nexus-3-x
停止 nexus 服務
由于 nexus 是基于 docker 部署,后面我們需要進入容器中執行相關命令,所以此處不能直接使用 docker stop xxx
來關閉服務,需要進入到容器內部來關閉 nexus 服務,
# 進入 docker 容器內,注意,此處使用 root 用戶,否則后續命令會無權限
docker exec -u root -it nexus3 /bin/bash
# 停止服務
/opt/sonatype/nexus/bin/nexus stop
# 核對服務狀態
/opt/sonatype/nexus/bin/nexus status
說明:此處 docker 容器中 nexus 服務關閉的情況可能各不相同,此處找到了鏡像原始 dockerfile,從中服務啟動時執行的路徑,推測出其關閉服務的命令,啟動服務命令是 CMD ["/opt/sonatype/nexus/bin/nexus", "run"]
,則嘗試使用 /opt/sonatype/nexus/bin/nexus stop
來關閉服務,
參考: https://github.com/sonatype/docker-nexus3/blob/main/Dockerfile
進入 OrientDB 控制臺
java -jar $NEXUS_HOME/lib/support/nexus-orient-console.jar
需要根據 nexus 各自的安裝情況執行上述命令,
參考: https://support.sonatype.com/hc/en-us/articles/115002930827-Accessing-the-OrientDB-Console
進入資料庫
# 查看 db 目錄,根據實際情況查找到目錄
ls -alh nexus-data/db/security
# 連接資料庫,此處 `nexus-data/db/security` 根據實際 db 目錄進行調整
connect plocal:nexus-data/db/security admin admin
調整 admin 賬號密碼
# 查看 admin 用戶資訊
select * from user where id = "admin"
# 更新 admin 用戶的密碼為 admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"
注意:為了方便,此處先臨時將密碼更新為 admin123
,
若要退出 OrientDB 控制臺,輸入 exit;
即可退出,
orientdb {db=security}> exit;
恢復 nexus 服務
# 啟動服務
/opt/sonatype/nexus/bin/nexus start
# 核對服務狀態
/opt/sonatype/nexus/bin/nexus status
驗證賬號
使用 admin:admin123
帳密來登錄 nexus 服務,驗證是否調整正確,若確認調整成功,建議及時使用更復雜的密碼替換臨時密碼 admin123
,
問題記錄
- 報沒有權限
Error creating history file java.io.IOException: Permission denied at java.io.UnixFileSystem.createFileExclusively(Native Method) at java.io.File.createNewFile(File.java:1012) at
一開始使用 docker exec -it nexus3 /bin/bash
進入容器,執行進行 OrientDB 命令時,會報無權限,且無法使用 sudo su
切換用戶,使用 docker exec -u root -it nexus3 /bin/bash
即可,
參考: https://gist.github.com/marcelmaatkamp/123e8793e07a72a382d8d0e8d66bbd8f?permalink_comment_id=3276537
檔案參考
How to reset a forgotten admin password in Sonatype Nexus Repository 3
Nexus3.X忘記admin密碼找回
更多技術文章,請關注我的個人博客 www.immaxfang.com 和小公眾號
Max的技術札記
,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/555079.html
標籤:其他
上一篇:OpenFoam——自定義求解器
下一篇:返回列表