[Couchbase-server]添加用户/更改密码?
Posted
技术标签:
【中文标题】[Couchbase-server]添加用户/更改密码?【英文标题】:[Couchbase-server]Adding user/Changing password? 【发布时间】:2013-10-26 06:30:31 【问题描述】:我是 couchbase-server 的新手。 我只是想使用http://www.dataoncouchbase.com:8091/index.html 的 UI 浏览 couchbase 服务器中存在的数据。
帐户“管理员”的密码未知。但我需要登录才能查看数据。
-
在 couchbase-server 上更改管理员密码的一种技术是以下命令(我确实可以通过命令行访问机器)
$$ /opt/couchbase/bin/couchbase-cli cluster-init -u Administrator -p old_password -c 127.0.0.1:8091 --cluster-init-username=Administrator --cluster-init-password=new_password
但是...只有在您知道旧密码(我没有)的情况下才有效。
-
我还尝试修改位于 /opt/couchbase/etc/couchdb/ 的 local.ini 文件并重新启动服务器。我在文件的 [admins] 部分下添加了一个新行(用户名 = 密码)。但是,我也无法使用新用户登录。
如果有人可以给我一种方法来添加新用户(具有读/写权限)或更改管理员密码或指向某些资源来做同样的事情,那就太好了。
【问题讨论】:
【参考方案1】:第一步:
/opt/couchbase/bin/couchbase-cli reset-admin-password --new-password 'Pass@2020'
-------
SUCCESS
-------
您可能尝试使用用户名“Administrator”登录,但有时您会看到错误。因为在某些集群中,“Administrator”可能不是默认的硬编码管理员,要查看管理员名称,请参见以下文件(如下):
$ ls -lrth /opt/couchbase/var/lib/couchbase/isasl.pw
$ cp /opt/couchbase/var/lib/couchbase/isasl.pw /tmp
$ cat /tmp/isasl.pw
"users": [
"n": "**Admin**",
------------------here "Admin" is the Administrator account. So use "Admin" as username to login with your new password changed in step1.
【讨论】:
【参考方案2】:使用您的命令转到您的 Couchbase bin 文件夹。对于 mac,这是
/Applications/Couchbase Server.app/Contents/Resources/couchbase-core/bin
在该文件夹中,执行以下命令:
./couchbase-cli reset-admin-password --new-password test123
。
您的新密码将更改为test123
。
这里是详细指南:https://docs.couchbase.com/server/4.6/cli/cbcli/reset-admin-password.html
【讨论】:
【参考方案3】:将 couchsync 与 couchbase 结合使用,您可以使用 the administrative REST API 更改所有用户的密码。
curl -vX PUT http://127.0.0.1:4985/yourdbname/_user/youruser --data ""name":"youruser", "password":"newpassword", "admin_channels":["yourlistofchannels"], "admin_roles":["yourlistofroles"]"
【讨论】:
这不是 Couchbase 服务器答案,在 CB 服务器上不起作用。您的答案用于 Couchbase 同步网关,而不是服务器。 是的,我在 Couchbase 服务器上使用 Couchbase 同步网关。【参考方案4】:好吧,我想通了 :) 我使用 OSX,但我想方式会很相似。
我进入 CouchbaseServer.app 以查看内容。 然后你打开文件夹 Content/Resources/couchbase-core/bin 还有一个叫做 cbreset_password 的程序 :)
然后它要求你更改管理员密码......你去吧。
我觉得和你在一起花了我 2 个小时 :)
【讨论】:
【参考方案5】:cbreset_password - 它会重置管理员密码,而无需知道之前的信息。
【讨论】:
【参考方案6】:如果您知道旧密码(我知道这不是您的情况,但我想编写解决方案来帮助知道旧密码的人),您应该阅读:
我用这个命令改变了(虽然它抛出了错误 --> ERROR: option cluster-init-ramsize is not specified);
./couchbase-cli cluster-init -c 127.0.0.1:8091 --user=admin --password=OLDPASS --cluster-init-username=admin --cluster-init-password=NEWPASS
我的配置是;
CentOs Gnu/Linux & 沙发底座 2.5.0
我在目录下运行命令:/opt/couchbase/bin
【讨论】:
【参考方案7】:我遇到了同样的问题。似乎没有办法重置密码,但它在 config.dat 文件中可见。让我感到震惊的另一件事是用户名......它区分大小写,所以 Admin != admin !!!
【讨论】:
【参考方案8】:您是否根据to this 查看过“config.dat”,它可能以纯文本形式出现在那里。 (当然,他们在谈论 Web 控制台)。
看来您可能已经有了seen this,但我会参考它以防万一。他们用于存储在 local.ini 中的密码格式包括空格 -> “用户名 = 密码” 他们还建议运行命令 'ls -alR /opt/couchbase-server/etc' 以帮助找出您的问题可能出在哪里。如果最后两个建议不起作用,也许您可以在此处发布该命令的输出。
【讨论】:
谢谢斯科特。我得到了解决方案。 就像你说的,我必须访问 config.dat( sudo hexdump -C /opt/couchbase/var/lib/couchbase/config/config.dat | less )。使用此命令,我可以看到明文密码(虽然 config.dat 是二进制文件)。出现为“passwordk..[PASSWORD]jjjh.d”以上是关于[Couchbase-server]添加用户/更改密码?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Security:添加“伪登录”以更改用户信息