Elasticsearch 7.x修改/忘记密码

本文档详细介绍了如何在Elasticsearch中修改和重置用户密码。首先展示了使用curl命令行工具在线修改密码的流程,包括验证原密码的过程。接着,当忘记密码时,通过注释xpack.security.enabled配置,重启服务,删除.security-7索引来重置密码,并提供了密码重置的curl命令。最后,强调了遵循官方文档操作的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

已知ES原密码,只需进行修改

  1. 目前采用curl方式:

    curl -XPOST -u elastic "127.0.0.1:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "elastic123456"}'
    
    • 其中elastic123456为修改后的密码;
  2. 控制台需要键入原来的密码进行验证Enter host password for user 'elastic':

  3. 输入原来的密码:123456:

  4. 验证及完整打印:

    [kaysen@localhost elasticsearch-7.7.0]$ curl -XPOST -u elastic "127.0.0.1:9200/_security/user/elastic/_password" -H 'Content-Type: application/json' -d'{"password" : "elastic123456"}'
    Enter host password for user 'elastic':
    {}[kaysen@localhost elasticsearch-7.7.0]$ curl -u elastic:elastic123456 http://127.0.0.1:9200
    {
      "name" : "localhost.localdomain",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "MZlO8UPyS52AuuCrFwABvQ",
      "version" : {
        "number" : "7.7.0",
        "build_flavor" : "default",
        "build_type" : "tar",
        "build_hash" : "81a1e9eda8e6183f5237786246f6dced26a10eaf",
        "build_date" : "2020-05-12T02:01:37.602180Z",
        "build_snapshot" : false,
        "lucene_version" : "8.5.1",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }

忘记密码,需要进行重置

  1. 修改配置文件config/elasticsearch.yml,注释掉支持x-pack的xpack.security.enabled: true配置,保存退出;

    # ---------------------------------- Various -----------------------------------
    #
    # Require explicit names when deleting indices:
    #
    #action.destructive_requires_name: true
    #
    #xpack.security.enabled: true
    
  2. 重启Elasticsearch进程(先kill掉):

    ./bin/elasticsearch -d
    
  3. 启动成功后,使用curl查看当前Elasticsearch的索引:

    curl -XGET "127.0.0.1:9200/_cat/indices" -H 'Content-Type: application/json'
    
  4. 控制台打印,多了一个.security-7的索引:

    [kaysen@localhost elasticsearch-7.7.0]$ curl -XGET "127.0.0.1:9200/_cat/indices" -H 'Content-Type: application/json'
    green open .security-7 J7VZVkwGT0um4GyH3nptnQ 1 0 6 0 20.5kb 20.5kb
    
  5. 删除.security-7的索引

    curl -XDELETE 127.0.0.1:9200/.security-7
    
  6. 有如下打印,表示已成功删除:

    {"acknowledged":true}
    
  7. 重置密码,请参考文章Elasticsearch 7.x设置密码进行设置。

修改密码命令如下:

curl -H "Content-Type:application/json" -XPOST -u elastic 'http://127.0.0.1:9200/_xpack/security/user/elastic/_password' -d '{ "password" : "123456" }'

 

出现这个错误的原因是在导入seaborn包时,无法从typing模块中导入名为'Protocol'的对象。 解决这个问题的方法有以下几种: 1. 检查你的Python版本是否符合seaborn包的要求,如果不符合,尝试更新Python版本。 2. 检查你的环境中是否安装了typing_extensions包,如果没有安装,可以使用以下命令安装:pip install typing_extensions。 3. 如果你使用的是Python 3.8版本以下的版本,你可以尝试使用typing_extensions包来代替typing模块来解决该问题。 4. 检查你的代码是否正确导入了seaborn包,并且没有其他导入错误。 5. 如果以上方法都无法解决问题,可以尝试在你的代码中使用其他的可替代包或者更新seaborn包的版本来解决该问题。 总结: 出现ImportError: cannot import name 'Protocol' from 'typing'错误的原因可能是由于Python版本不兼容、缺少typing_extensions包或者导入错误等原因造成的。可以根据具体情况尝试上述方法来解决该问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [ImportError: cannot import name ‘Literal‘ from ‘typing‘ (D:\Anaconda\envs\tensorflow\lib\typing....](https://blog.csdn.net/yuhaix/article/details/124528628)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值