当前位置: 首页 > news >正文

ElasticSearch操作之重置密码脚本

ElasticSearch操作之重置密码脚本

在这里插入图片描述

#!/bin/bash
# 使用样例 ./ES密码重置.sh 旧密码 新密码# 输入旧密码
es_old_password=$1# 设置新的密码变量
es_password=$2# 正确响应
es_reponse='{"acknowledged":true}'# 检查Elasticsearch是否在运行
if pgrep -f elasticsearch > /dev/null; thenecho "Elasticsearch is running, proceeding with password setup."
elseecho "Elasticsearch is not running. Please start Elasticsearch and try again."exit 1
fi
# 清除原来密码
# 发送请求并保存响应状态码
response=$(curl -X DELETE -u elastic:"$es_old_password" "http://127.0.0.1:9200/.security-7")echo "清除原来密码"
echo "$response"# 检查响应状态码
if [ "$response" != $es_reponse ]; thenecho "请求失败,终止操作"exit 0
fi
echo "请求成功,继续下一步操作"# 进入Elasticsearch的bin目录
cd /home/zfes/elasticsearch/bin || { echo "Elasticsearch bin directory not found."; exit 1; }# 使用expect脚本自动输入密码
/usr/bin/expect <<EOF
# 设置永不超时
set timeout -1
# 详细内容打印
# exp_internal 1
spawn ./elasticsearch-setup-passwords interactive# 忽略不相关的输出
expect {"N\]" { send "y\r"; exp_continue }-re "elastic\]:" { send "$es_password\r" ; exp_continue }-re "elastic\]:" { send "$es_password\r"; exp_continue }-re "kibana_system\]:" { send "$es_password\r"; exp_continue }-re "kibana_system\]:" { send "$es_password\r"; exp_continue }-re "logstash_system\]:" { send "$es_password\r"; exp_continue }-re "logstash_system\]:" { send "$es_password\r"; exp_continue }-re "beats_system\]:" { send "$es_password\r"; exp_continue }-re "beats_system\]:" { send "$es_password\r"; exp_continue }-re "apm_system\]:" { send "$es_password\r"; exp_continue }-re "apm_system\]:" { send "$es_password\r"; exp_continue }-re "remote_monitoring_user\]:" { send "$es_password\r"; exp_continue }-re "remote_monitoring_user\]:" { send "$es_password\r"; exp_continue }
}expect eof
EOFecho "Password has been updated for all users."

相关文章:

  • Pi 母公司将开发情感 AI 商业机器人;Meta 科学家:Sora 不是视频生成唯一方向丨RTE 开发者日报 Vol.214
  • C/C++语法|pthread线程库的使用
  • redis数据类型set,zset
  • Golang并发编程-协程goroutine的信道(channel)
  • 深入解析 JSONPath:从入门到精通
  • C#记录日志
  • Shell脚本的分支语句,循环语句
  • Vue 3 教程:核心知识
  • 29-ESP32-S3-WIFI_Driver-00 STA模式扫描全部 AP
  • 出现 java: Annotation processing is not supported for module cycles 解决方法
  • 2024年蓝桥杯Web开发【大赛大纲】15届
  • 基于51单片机的温控风扇的设计–仿真设计
  • WebRTC | 网络传输协议 RTP 和 RTCP
  • JavaScript 中遍历数组的多种方法
  • 2.10 mysql设置远程访问权限
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 78. Subsets
  • emacs初体验
  • extjs4学习之配置
  • JavaScript函数式编程(一)
  • JS+CSS实现数字滚动
  • Mysql数据库的条件查询语句
  • nginx 配置多 域名 + 多 https
  • SpingCloudBus整合RabbitMQ
  • 机器学习 vs. 深度学习
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 使用docker-compose进行多节点部署
  • 首页查询功能的一次实现过程
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • 国内开源镜像站点
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​ubuntu下安装kvm虚拟机
  • #Linux(帮助手册)
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (八)Flask之app.route装饰器函数的参数
  • (非本人原创)我们工作到底是为了什么?​——HP大中华区总裁孙振耀退休感言(r4笔记第60天)...
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (附源码)ssm码农论坛 毕业设计 231126
  • (七)Java对象在Hibernate持久化层的状态
  • (三分钟)速览传统边缘检测算子
  • (转)四层和七层负载均衡的区别
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .net core webapi 大文件上传到wwwroot文件夹
  • .NET Core引入性能分析引导优化
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .net反编译的九款神器
  • @Transactional 参数详解
  • @Valid和@NotNull字段校验使用
  • []FET-430SIM508 研究日志 11.3.31
  • [100天算法】-实现 strStr()(day 52)
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [C#] 基于 yield 语句的迭代器逻辑懒执行
  • [C#学习笔记]Newtonsoft.Json