Carry の Blog Carry の Blog
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • OpenClaw
  • Hermes Agent
  • Claude Code
  • MySQL8-SOP手册
  • MySQL实战45讲学习笔记
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Carry の Blog

好记性不如烂键盘
首页
  • Nginx
  • Prometheus
  • Iptables
  • Systemd
  • Firewalld
  • Docker
  • Sshd
  • DBA工作笔记
  • MySQL
  • Redis
  • TiDB
  • Elasticsearch
  • OpenClaw
  • Hermes Agent
  • Claude Code
  • MySQL8-SOP手册
  • MySQL实战45讲学习笔记
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • MySQL

  • Redis

  • Keydb

  • TiDB

  • MongoDB

  • Elasticsearch

    • Elasticsearch 运维知识地图:从安装配置到排障加速恢复
    • Elasticsearch 安装配置
    • 给Elasticsearch集群添加用户密码
    • Elasticsearch 分片和副本:容量怎么规划,改分片数为什么这么麻烦
    • 单节点分片达到默认上限解决办法
    • Elasticsearch集群节点磁盘使用分配不均解决办法
    • Elasticsearch的模板template和映射mapping
    • Elasticsearch 分页查询三种方案:from/size、search_after、scroll 怎么选
    • Elasticsearch字符串搜索方式
    • Elasticsearch使用wildcard字段模糊匹配
    • ES数据迁移工具esm
    • Nginx Mirror 模块实现三套ES写入网关
    • ES单机多节点集群docker-compose一键安装
    • ElasticSearch 动态模板 使用方法
    • ES排障两件套:慢查询日志阈值配置 + tcpdump 抓包看真实请求
    • ES 集群恢复太慢?三个参数加速节点/分片恢复
    • Elasticsearch 常用 DSL 语句
    • Logstash迁移ES数据
  • Kafka

  • victoriametrics

  • BigData

  • Sqlserver

  • 数据库
  • Elasticsearch
Carry の Blog
2022-03-17

给Elasticsearch集群添加用户密码

版本说明

本文写于 2022-03,基于 Elasticsearch 7.x。
在 8.x 上的差异:安全特性默认开启,本文手动开启 xpack.security.enabled 并配置密码的步骤在 8.x 上已是默认行为,首次启动会自动生成密码;如需重置密码,命令 elasticsearch-reset-password 用法未变。

要给Elasticsearch集群添加用户密码,您需要完成以下步骤:

  1. 启用Elasticsearch内置安全性特性。您可以通过将以下行添加到Elasticsearch配置文件 /etc/elasticsearch/elasticsearch.yml 来实现:
xpack.security.enabled: true
1
  1. 设置密码。运行以下命令以设置超级用户的密码:

sudo /usr/share/elasticsearch/bin/elasticsearch-setup-passwords auto

1
2
3

此命令将提示您输入超级用户的密码。设置密码后,它将在Elasticsearch中的密码文件中保存。

  1. 配置用户访问权限。要允许用户访问Elasticsearch集群,您需要分配适当的角色和权限。这可以通过编辑 role_mapping 和users 文件来完成。这些文件位于/etc/elasticsearch目录中。

  2. 配置角色。Elasticsearch内置了多个角色,您可以使用它们或创建自定义角色。以下是创建名为my_role的自定义角色的示例:

sudo nano /etc/elasticsearch/role_mapping.yml

1
2

在编辑器中添加以下内容:


my_role:
  - "cn=John Doe,ou=people,dc=example,dc=com"

1
2
3
4

这表示将my_role角色分配给cn=John Doe,ou=people,dc=example,dc=com用户。您可以添加多个用户到角色中。

  1. 配置用户。要为用户分配角色和权限,请编辑 users 文件。以下是将my_role角色分配给my_user用户的示例:
sudo nano /etc/elasticsearch/users
1

在编辑器中添加以下内容:


my_user:
  password: "password_here"
  roles: ["my_role"]
1
2
3
4

这表示将my_role角色分配给my_user用户,并设置password_here作为密码。您可以添加多个用户和角色。

  1. 重启Elasticsearch服务:sudo systemctl restart elasticsearch

    现在您已经成功为Elasticsearch集群添加了用户密码和访问控制。注意:在进行这些更改之前,请确保您已经备份了Elasticsearch配置文件和密码文件。

#Elasticsearch#搜索引擎
上次更新: 7/29/2026

← Elasticsearch 安装配置 Elasticsearch 分片和副本:容量怎么规划,改分片数为什么这么麻烦→

最近更新
01
Nginx 运维知识地图:从配置基础到反向代理实战 原创
07-29
02
MySQL 运维知识地图:从入门配置到高可用排障 原创
07-29
03
单表数据同步方案选型:为什么不该用 mysqldump 做「实时同步」 原创
07-29
更多文章>
Theme by Vdoing
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式