Nexus 找回管理员账号密码,各种不同的版本,提供三种方法
针对于Nexus不同版本下找回密码的方式
我自己用的版本是3.16.*
一: nexus3.17以下版本:
(1)找到nexus的程序路径和Maven仓库路径:
nexus-3.14.2-01 目录为程序路径,里面有 logs、bin、conf、tmp 等目录
sonatype-work 目录为nexus相关配置文件
(2)在下面路径有一个文件security.xml,文件中有用户和密码以及权限的分配(我的没有这个文件):
sonatype-work/nexus/conf/security.xml
打开文件,找到下面位置:
<user> <id>admin</id> <firstName>Administrator</firstName> <lastName>User</lastName> <password>$shiro1$SHA-512$1024$PWSCGOcz9yPs7g7d6gkAcQ==$m1hRsx948wkmFtyb/d/brugEgPIt88dz7UlvqXiiI9d5sTRwPX7VCyljEz34Uxl3nQ+Y7KCESnsJkpSt9DnHZg==</password> <status>active</status> <email>[email protected]</email> </user>
将忘记密码的用户的password节点信息用f865b53623b121fd34ee5426c792e5c33af8c227
字符串替换,这样密码就重置为admin123
;
二:nexus3.17以上版本
1. cd sonatype-work/nexus3,ls 后看到admin.password,这个就是Nexus3的默认密码,此时进入admin.password,vim admin.password,将默认粘出,(注意是一长串不规则字符,不要怀疑是否加密,这就是原文)打开浏览器,输入ip:8081,登录账号:admin,密码粘贴上后登录,成功!
2. 登录成功后需要更改密码,更改密码完成之后,admin.password文件自动删除,之后就完事了!
3. 假设等你处理的时候,这个文件已经找不到了,就说明密码已经被改过了。这种情况推荐下面这个究极大法。
三:究极大法好啊(我自己用的,亲测有效)
由于我自己安装的版本找不到security.xml文件,所以另辟捷径。Nexus是通过内置的orientdb数据库管理的。需要进入到库里面修改密码
(1)停止nexus服务,直接杀进程,或者是./nexus stop 也行
(2)进入nexus内置的数据库
cd nexus/lib/
java -jar support/nexus-orient-console.jar
(3)登录数据库(注意执行的位置,确定自己的../层级)
connect plocal:../../../sonatype-work/nexus3/db/security admin admin
(4)执行下面sql,将admin用户密码重置为admin123
update user SET password="$shiro1$SHA-512$1024$NE+wqQq/TmjZMvfI7ENh/g==$V4yPw8T64UQ6GfJfxYq2hLsVrBY8D1v+bktfOxGdt4b/9BthpWPNUy/CBk6V9iA0nHpzYzJFWO8v/tZFtES8CA==" UPSERT WHERE id="admin"
(5)重启nexus服务,直接通过admin/admin123登录nexus
修改nexus权限,参考下一篇博客