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

时间:2013-04-22 13:21:16

标签: macos couchbase password-recovery

我正在开发 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部分中,但是它们似乎没有抓住(密码没有得到哈希,这在读取这些文件时应该是这样)< / p>

4 个答案:

答案 0 :(得分:6)

您可以运行cbreset_password脚本,位于CouchBase服务器App的/Contents/Resources/couchbase-core/bin文件夹中

所以对我而言,它在/Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin

只需运行它,您就可以重置Administrator帐户的密码

答案 1 :(得分:2)

密码以纯文本形式保存在位于\ var \ lib \ couchbase文件夹中的config.dat二进制文件中。

您可以搜索字符串“username”,然后在其旁边显示“password”字段和密码的纯文本值。

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

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

  

壳&GT; ./couchbase-cli cluster-init -c 127.0.0.1:8091   --user = [CURRENT_USERNAME] --password = [CURRENT_PASSWORD] --cluster-init-username = [NEW_USERNAME] --cluster-init-password = [NEW_PASSWORD]

答案 2 :(得分:1)

在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

JAVA_HOME指向您的Couchbase安装目录

答案 3 :(得分:1)

如果不清楚,因为在上一个答案中没有完全解释,我还不允许发表评论。 cbreset_password 脚本是 Python脚本

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

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