转载:https://jingyan.baidu.com/article/c45ad29c1e1b0d051753e219.html
注意:方法前提是能够登录linux服务器;
方式一:
(1)找到nexus的程序路径和Maven仓库路径:
nexus-2.14.2-01 目录为程序路径,里面有 logs、bin、conf、tmp 等目录
sonatype-work 目录为Maven仓库路径
(2)在Maven仓库路径下有一个文件security.xml,文件中有用户和密码以及权限的分配:
sonatype-work/nexus/conf/security.xml
<?xml version="1.0" encoding="UTF-8"?>
<security>
<version>2.0.5</version>
<users>
<user>
<id>deployment</id>
<firstName>Deployment</firstName>
<lastName>User</lastName>
<password>b2a0e378437817cebdf753d7dff3dd75483af9e0</password>
<status>active</status>
<email>changeme1@yourcompany.com</email>
</user>
<user>
<id>anonymous</id>
<firstName>Nexus</firstName>
<lastName>Anonymous User</lastName>
<password>$shiro1$SHA-512$1024$Q82OUH8KmDZZrXTOpZY+lg==$Tsscq7Su4ZZDtUV9cKrAbJK7UIMFtxRdN/UUDBpJtdRegcIWUEAEqbYarhKm7znytB8X8Mlu68dc82IHqUBX/g==</password>
<status>active</status>
<email>changeme2@yourcompany.com</email>
</user>
<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>changeme@yourcompany.com</email>
</user>
<user>
<id>root</id>
<firstName>root</firstName>
<lastName>root</lastName>
<password>$shiro1$SHA-512$1024$d9ZrWi5Pu9XT0E2CTia1kQ==$cGhEosVMqVxfqZCfV9ZXax6o/fGzWvt1LXnB5qiCbhJFnL1r7BSpVsHKncc3FoKb/KjQvuYEnqtT/wWkYEvtyA==</password>
<status>active</status>
<email>changeme@yourcompany.com</email>
</user>
</users>
<userRoleMappings>
<userRoleMapping>
<userId>deployment</userId>
<source>default</source>
<roles>
<role>nx-deployment</role>
<role>repository-any-full</role>
</roles>
</userRoleMapping>
<userRoleMapping>
<userId>anonymous</userId>
<source>default</source>
<roles>
<role>anonymous</role>
<role>repository-any-read</role>
</roles>
</userRoleMapping>
<userRoleMapping>
<userId>admin</userId>
<source>default</source>
<roles>
<role>nx-admin</role>
</roles>
</userRoleMapping>
<userRoleMapping>
<userId>root</userId>
<source>default</source>
<roles>
<role>nx-deployment</role>
<role>repository-any-full</role>
</roles>
</userRoleMapping>
</userRoleMappings>
</security>
(3)将忘记密码的用户的password节点信息用f865b53623b121fd34ee5426c792e5c33af8c227
字符串替换,这样密码就重置为admin123
;
(4)找到nexus的程序路径nexus的bin目录,重启nexus服务./nexus restart
,重启完成之后admin用户的密码就重置成了admin123了;
方式二:
我们还可以通过修改用户角色来获取管理员权限,然后通过匿名用户修改管理员密码,还是修改security.xml文件,找到anonymous的权限配置节点,修改其角色权限,添加用户管理员权限:
<role>nx-admin</role>
然后重启nexus服务,这个时候打开nexus前端页面,在没有登录的情况下,发现之前看不到的菜单都可以看到了。和管理员登录状态下看到的一样,在页面选择security菜单的users,重置密码,密码设置之后,再把上面添加的节点<role>nx-admin</role>
删除,再重启服务;
第二种方法给匿名用户添加的nx-admin,在修改完密码之后一定要把刚刚添加的角色删除,再重启,否则任何人都可以修改nexus服务器配置和文件了