admin 用户是 Easysearch 通过配置文件 user.yml 默认添加的,配置如下:
## Demo users
admin:hash: "$2y$12$mA9DDk7iOBQA3u.Ebc0QSOVKsgwlkm6OJcrEcpyrTrT5M5It86usq" # 465f7466f79a67b9039dreserved: trueexternal_roles:- "admin"description: "Admin user"
有两种方式可以重置密码:
- 通过配置文件
user.yml
- 通过用户
API
接口
配置文件
修改配置文件,将密码重置
## Demo users
admin:hash: "$2y$12$lszyO4fy25WKClSMZj7lIuQUse2UGuWBof1L1jL0qoXz6S5Yt/RS2" # admin111reserved: trueexternal_roles:- "admin"description: "Admin user"
其中 hash
字段是将用户密码哈希出来的值,可通过 bin/hash_password.sh -p "<明文密码>"
生成。
注:多节点集群各节点上的配置文件需要保持一致。
修改 user.yml
配置文件,需将 .security
索引删除,重启集群重新生成 .security
索引才能生效。
直接使用 admin
用户进行删除报权限异常,这是因为 .security
是一个受保护的系统索引,对其进行操作需要使用管理证书。默认在 Easysearch 集群执行初始化脚本 bin/initialize.sh
时,会在 config
目录下生成证书文件,其中 admin.crt
、admin.key
为管理证书。
使用管理证书进行对 .security
索引进行删除。
删除成功,重启集群,进行用户访问验证。
注:多节点集群各节点都需要重启。
用户 API
admin
用户在配置文件 user.yml
中配置了 reserved: true
,只能使用拥有更高权限的管理证书进行密码重置,具体操作请查看这里。
总结
方法 | 操作 | 影响 |
---|---|---|
通过配置文件 | 1、使用管理证书删除 .security 索引 2、修改配置文件 3、重启集群 | 删除 .security 索引会导致所有的用户信息(主要是通过 API 创建的用户)丢失; 修改配置文件,对于多节点集群来说操作较多; 重启集群影响较大(特别是多节点集群) |
通过 API 接口 | 1、使用管理证书直接重置密码 | 针对单个用户操作,影响较小 |
推荐使用 API 接口进行密码重置。