【问题标题】:Forgot Username / Pwd to CouchDB忘记 CouchDB 的用户名/密码
【发布时间】:2012-03-19 06:19:34
【问题描述】:

有人知道如何重置 CouchDB 的用户名和密码吗?

【问题讨论】:

  • 希望得到帮助:- guide.couchdb.org/draft/security.html
  • 重新安装 couchDb 工作 :-)
  • 现有数据库中没有重要的东西吗?
  • 是的,你是对的,我只是在玩 couchDB 中的所有选项。如果您有想法,您能否提供一些我应该开始使用的参考/资源?

标签: couchdb


【解决方案1】:

这对我有用: 当 couchdb 停止时,

  1. 清除 */etc/couchdb/local.ini 中的 [admin] 部分
  2. 删除 _users.couch 数据库(位于 */var/lib/couchdb/)

这会将用户数据库重置为出厂默认设置(管理员!)并擦除 couchdb 的所有用户帐户。可能还有更微妙的方式

【讨论】:

  • 效果很好,非常感谢。一句警告:这对于没有任何真实用户的开发和测试数据库非常有用。如果您在生产数据库上执行此操作,您的所有用户帐户都将消失,这是一件坏事;)
  • 我做到了,我现在如何重新启动 couchdb。尝试使用 curl 重新启动数据库时,它仍然说您不是管理员
【解决方案2】:

使用 Apache CouchDB,可以通过编辑 CouchDB 配置文件夹中的文件 local.ini 更改管理员帐户密码(大多数 Linux 安装为 /etc/couchdb/) . [1]

查找[admin] 部分,该部分将列出所有管理员用户名及其哈希密码:

[admin]
foo = -pbkdf2-0e0e83f911c970565fc988497a657bdc21a005e8,19ecef0bea1caf8d7f08fb791379c686,10

用新的明文密码替换密码哈希:

foo = bar

现在重新启动 CouchDB(在 Ubuntu 上为sudo restart couchdb)。 CouchDB 会在启动时注意到明文密码,并自动将其替换为散列版本。

【讨论】:

    【解决方案3】:

    我所做的很简单。我在这里找到了我的旧用户名和密码:

    /opt/couchbase/var/lib/couchbase/config/config.dat
    

    之后我去了opt/couchbase/bin/并运行

    ./couchbase-cli cluster-init -c localhost:8091 -u old_user -p old_password --cluster-init-username=new_user --cluster-init-password=new_password
    

    完成! 你也可以检查这个:http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-faq.html

    【讨论】:

    • 欢迎您!如果它解决了你的问题,你可以接受这个答案:)
    • 我忘记了 id 和密码,我该怎么办?
    • Couchbase 与 CouchDB 并不完全相同。
    【解决方案4】:

    对于 mac 用户,基本文件夹是 /Library/Application Support/couchdb

    【讨论】:

    • 或者更可能是~/Library/Application Support/couchdb,除非您以 root 身份安装了 CouchDB
    • 如果你使用 Homebrew 安装它,local.ini 位于/usr/local/etc/couchdb/local.ini
    【解决方案5】:

    还有一点要补充...

    如果您在 Windows 上运行 Couch DB,那么它可能是作为服务安装的,要重置它,您需要先停止服务,在运行服务中其他答案不起作用。

    http://www.7tutorials.com/what-are-windows-services-what-they-do-how-manage-them

    打开控制面板-管理工具-服务并停止Apache Couch DB

    【讨论】:

      【解决方案6】:

      对于 Unix: http://silviud.blogspot.com/2012/10/couchbase-recover-web-console-password.html

      /opt/couchbase/bin/erl \
      -noinput -eval \
      'case file:read_file("/opt/couchbase/var/lib/couchbase/config/config.dat") of {ok, B}  ->     io:format("~p~n", [binary_to_term(B)]) end.' \
      -run init stop | grep cred
      

      【讨论】:

      • 这个可以在不重置的情况下检索我当前的密码。感谢 ConAim。
      【解决方案7】:

      您只需要在 CouchDB local.ini 文件中添加用户名和密码。您可以根据需要添加任意数量的管理员。

      sudo nano /etc/couchdb/local.ini

      并在文件末尾添加用户名和密码。

      别忘了重启 CouchDB 服务器。 sudo service couchdb restart

      【讨论】:

        【解决方案8】:

        在 Mac OS X 上,cbreset_password 默认不在 PATH 中,所以我已经完成了:

        "/Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin/cbreset_password" 127.0.0.1:8091
        

        ...确认yes后重新设置密码

        【讨论】:

        • cli 已被删除并替换为couchbase-cli。改用这个,提供“新密码”:$> /Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin/couchbase-cli reset-admin-password --new-password newpassword
        【解决方案9】:

        您可以使用以下步骤更改 couchbase localhost 密码: 1. 安装 crul(适用于 windows) 2. curl -u 管理员:密码http://localhost:8091/controller/changePassword -d 密码=admin123

        【讨论】:

          【解决方案10】:

          ubuntu 20.04:

          apt purge couchdb
          
          apt install couchdb
          

          是唯一对我有用的东西。

          【讨论】:

            【解决方案11】:

            如果使用 3.2,CouchDB 服务器管理员和密码在 CouchDB 在加载其 ini 文件时找到的最后一个 [admins] 部分:

            • /opt/couchdb/etc/local.ini
            • /opt/couchdb/etc/local.d/10-admins.ini

            别忘了重启 CouchDB: sudo systemctl restart couchdb(如果使用 ubuntu)

            来源:https://docs.couchdb.org/en/3.2.0/config/auth.html

            【讨论】:

              猜你喜欢
              • 2019-05-02
              • 2011-12-02
              • 2016-05-13
              • 2018-06-07
              • 2012-07-25
              • 1970-01-01
              • 2012-11-05
              • 2012-04-13
              • 2019-04-18
              相关资源
              最近更新 更多