gpt4 book ai didi

mongodb - Mongo 用户读写任何数据库的权限

转载 作者:IT老高 更新时间:2023-10-28 13:18:39 24 4
gpt4 key购买 nike

这里是蒙古新手。我有一个带有四个数据库的 mongo 安装,并且想创建一个可以读取和写入所有数据库的用户。我试过了:

use admin;
db.addUser({user: "foo" , pwd: "bar", roles: [ "readWriteAnyDatabase" ]})

但是当我尝试这样做时

mongo someotherdb -u foo -p

并使用正确的密码进行身份验证,它会给我一个身份验证错误。

我也尝试通过这样做手动将用户添加到其他数据库

use someotherdb
db.addUser({user: "foo", roles: ['readWrite'], userSource: "admin"});

仍然没有骰子尝试通过 mongo shell 或在目标数据库中使用 auth 命令登录。

我做错了吗?您如何让一个可以全局读取和写入任何数据库的用户?您是否必须将所述用户添加到每个数据库的 system.users 集合中,或者如果他们具有“readWriteAnyDatabase”角色则不需要?

我在 ubuntu 上使用 mongo 2.4。

最佳答案

所以,我终于想通了。请注意,此修复仅适用于 Mongo 2.4。

在 2.4 中,您可以在连接字符串或命令行中指定一个数据库来验证自己的身份

所以要创建初始用户

use admin
db.createUser({user: "foo" , pwd: "bar", roles: [ "userAdminAnyDatabase","readWriteAnyDatabase" ]})

并验证使用

mongo -u foo --authenticationDatabase admin -p

现在你应该可以对任何数据库做任何你想做的事情了

关于mongodb - Mongo 用户读写任何数据库的权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18823112/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com