Macos 在不知道的情况下恢复Couchbase密码

Macos 在不知道的情况下恢复Couchbase密码,macos,couchbase,password-recovery,Macos,Couchbase,Password Recovery,我正在开发一款mac,下载了mac社区版。启动应用程序,并打开管理控制台。到目前为止一切都很好,直到我注销。现在我无法再次登录,因为我一开始就不需要设置密码。它可能在之前的版本上设置了一整段时间,但我不确定 重新安装它不起作用。我不断地跳回登录屏幕 按照其他帖子和联机帮助中的建议执行以下命令会导致erlang崩溃 erl -noinput -eval 'case file:read_file("/Users/testuser/Couchbase Server.app/Contents/Resou

我正在开发一款mac,下载了mac社区版。启动应用程序,并打开管理控制台。到目前为止一切都很好,直到我注销。现在我无法再次登录,因为我一开始就不需要设置密码。它可能在之前的版本上设置了一整段时间,但我不确定

重新安装它不起作用。我不断地跳回登录屏幕

按照其他帖子和联机帮助中的建议执行以下命令会导致erlang崩溃

erl -noinput -eval 'case file:read_file("/Users/testuser/Couchbase Server.app/Contents/Resources/couchbase-core/var/lib/couchbase/config/config.dat") of {ok, B} -> io:format("~p~n", [binary_to_term(B)]) end.' -run init stop | grep cred

Crash dump was written to: erl_crash.dump
init terminating in do_boot ()
欢迎提出任何建议


我一直在尝试在couchdb ini文件的admins部分添加一个新用户,但它们似乎不起作用(当读取这些文件时,密码不会被散列)

在mac上,您可以执行以下步骤

sudo ln -s $CB_HOME/Couchbase\ Server.app/Contents/Resources/couchbase-core/lib/ /lib
cd "$CB_HOME/Couchbase Server.app/Contents/Resources/couchbase-core/bin"
./erl -noinput -eval 'case file:read_file("[PATH TO DATA]/Library/Application Support/Couchbase/var/lib/couchbase/config/config.dat") of {ok, B} -> io:format("~p~n", [binary_to_term(B)]) end.' -run init stop | grep creds

CB_HOME指向您的Couchbase安装目录

密码以明文形式保存在config.dat二进制文件中,该文件位于\var\lib\Couchbase文件夹中

您可以搜索字符串“username”,然后在它旁边您将看到“password”字段和密码的纯文本值

我认为有一个公开的缺陷,就是有更好的密码存储机制

可以使用couchbase cli工具更改密码

shell>/couchbase cli集群初始化-c 127.0.0.1:8091 --用户=[当前\u用户名]--密码=[当前\u密码]--群集初始化用户名=[新\u用户名]--群集初始化密码=[新\u密码]


在couchbase服务器应用程序的
/Contents/Resources/couchbase core/bin
文件夹中,有一个
cbreset\u密码
脚本可以运行

所以对我来说,它是在
/Applications/Couchbase Server.app/Contents/Resources/Couchbase core/bin


只要运行它,您就可以重置
管理员
帐户的密码

,以防它不清楚,因为在前面的回答中没有完全解释,我现在还不允许评论。cbreset\u密码脚本是一个Python脚本

对于Mac OS,请确保已安装Python。此外,还有两条必需的信息,您尝试重置的Couchbase实例的IP地址和端口号。因此,对于标准Couchbase端口为8091的本地安装,命令如下所示:

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

例如,[PATH TO DATA]/Library/Application Support/Couchbase应该是什么?因为我没有(我想)。我知道config.dat文件的路径,但它直接在我的安装文件夹中,而不是在另一个根目录下。但即使使用该路径,我也会遇到erlang崩溃。崩溃转储被写入:erl_Crash.dump init终止于do_boot()将[PATH to DATA]替换为您的主路径~IE:/Users/3xil3i忘记了id和密码,所以我该怎么办?如果有人收到“获取节点连接信息失败”错误。尝试以sudo的身份运行此脚本。cbreset\u密码脚本已被删除。使用命令转到Couchbase bin文件夹。对于mac,这是
/Applications/Couchbase Server.app/Contents/Resources/Couchbase core/bin
在该文件夹中,执行以下命令:
/Couchbase cli reset admin password--new password test123
。您的新密码将更改为
test123
。以下是详细的指南: