问题描述

公司排查弱口令问题,需要修改生产环境nacos服务器的默认账号密码nacos/nacos,本人修改后忘记备份密码,导致后面无法登录。

解决方案:

1、有其他账号(管理员角色)

正常情况下,登录自己账号后可以重置密码。
在这里插入图片描述

在这里插入图片描述
也可以登录其他管理员角色的账号,新建、修改用户密码。
在这里插入图片描述

2、部署nacos时如果你在nacos配置中设置了MySQL数据库,可以直接在数据库重置密码

①启一个demo,定义好新的nacos密码,获取加密后的字符串;

  @Test
  public void test5() {
    System.out.println(new BCryptPasswordEncoder().encode("nacos2024"));
  }

需要引入依赖才能使用上面的加密方法

    <dependency>
      <groupId>org.springframework.security</groupId>
      <artifactId>spring-security-core</artifactId>
      <version>5.2.5.RELEASE</version>
    </dependency>

②找到nacos_config数据库,users表,将要替换的密码加密后的值覆盖原账号的密文;
在这里插入图片描述
③重新登录

3、部署nacos时如果使用了nacos内置数据库

可通过调用nacos内置API修改密码,方法如下(已经过测试)。
linux系统中,执行以下命令:

#新增用户
curl -X POST 'http://{nacos服务器ip}:{nacos服务器端口}/nacos/v1/auth/users' -d 'username={新增的用户名}&password={新增的用户密码明文}'
#更新密码
curl -X PUT 'http://{nacos服务器ip}:{nacos服务器端口}/nacos/v1/auth/users' -d 'username={要更新的用户名}&newPassword={要更新的用户密码明文}'

也可以通过postman等接口调用工具,模拟post请求。
需要注意,第三种方法的前提是nacos没有启动鉴权认证,如果启用了认证,可以修改nacos的config包下面的application.properties中的配置,将nacos.core.auth.enabled改为false,重启nacos再试。
在这里插入图片描述

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐