admin 用户是 Easysearch 通过配置文件 user.yml 默认添加的,配置如下:

## Demo users
admin:
  hash: "$2y$12$mA9DDk7iOBQA3u.Ebc0QSOVKsgwlkm6OJcrEcpyrTrT5M5It86usq" # 465f7466f79a67b9039d
  reserved: true
  external_roles:
    - "admin"
  description: "Admin user"

Easysearch 集群重置 admin 用户密码_重启

有两种方式可以重置密码:

  1. 通过配置文件 user.yml
  2. 通过用户 API 接口

配置文件

修改配置文件,将密码重置

## Demo users
admin:
  hash: "$2y$12$lszyO4fy25WKClSMZj7lIuQUse2UGuWBof1L1jL0qoXz6S5Yt/RS2" # admin111
  reserved: true
  external_roles:
    - "admin"
  description: "Admin user"

其中 hash 字段是将用户密码哈希出来的值,可通过 bin/hash_password.sh -p "<明文密码>" 生成。

注:多节点集群各节点上的配置文件需要保持一致。

修改 user.yml 配置文件,需将 .security 索引删除,重启集群重新生成 .security 索引才能生效。

Easysearch 集群重置 admin 用户密码_配置文件_02

直接使用 admin 用户进行删除报权限异常,这是因为 .security 是一个受保护的系统索引,对其进行操作需要使用管理证书。默认在 Easysearch 集群执行初始化脚本 bin/initialize.sh 时,会在 config 目录下生成证书文件,其中 admin.crtadmin.key 为管理证书。

使用管理证书进行对 .security 索引进行删除。

Easysearch 集群重置 admin 用户密码_重启_03

删除成功,重启集群,进行用户访问验证。

Easysearch 集群重置 admin 用户密码_多节点_04

注:多节点集群各节点都需要重启。

用户 API

admin 用户在配置文件 user.yml 中配置了 reserved: true,只能使用拥有更高权限的管理证书进行密码重置,具体操作请查看这里。

总结

方法

操作

影响

通过配置文件

1、使用管理证书删除 .security 索引 2、修改配置文件 3、重启集群

删除 .security 索引会导致所有的用户信息(主要是通过 API 创建的用户)丢失; 修改配置文件,对于多节点集群来说操作较多; 重启集群影响较大(特别是多节点集群)

通过 API 接口

1、使用管理证书直接重置密码

针对单个用户操作,影响较小

推荐使用 API 接口进行密码重置。