【发布时间】:2014-04-16 06:10:25
【问题描述】:
只是一个关于 mongodb 中用户帐户的快速问题。
我在 admin 数据库中配置了以下用户:
> use admin
switched to db admin
> db.system.users.find({ user : "foobar_admin"}).pretty()
{
"_id" : ObjectId("52024f53e513b080573d59de"),
"otherDBRoles" : {
"test" : [
"dbAdmin",
"readWrite"
]
},
"pwd" : "<pwdhash>",
"roles" : [
"read"
],
"user" : "foobar_admin"
}
>
以及在测试数据库上配置的以下用户
> use test
switched to db test
> db.system.users.find({ user : "abc_admin"}).pretty()
{
"_id" : ObjectId("52024f97e513b080573d59e1"),
"pwd" : "<pwdhash>",
"roles" : [
"readWrite"
],
"user" : "foobar_admin"
}
>
在 admin 数据库中设置的权限是否会覆盖在 test 数据库中设置的权限? IE,foobar_admin 在测试数据库上有 dbAdmin 和 readWrite 吗?一份文件是否优先于另一份文件?
【问题讨论】:
-
最好的方法是测试,但我确实记得在文档中读过一些关于管理员用户在本地数据库中接管同名用户的内容。我个人从来没有在我的用户之间产生过这种模棱两可的情况,我尽量避免它
-
是的,我继承了一些似乎在每个数据库中都有用户文档的东西,所以我正在清理它。我只是有点谨慎,因为数据库目前正在生产中,不能让它坏掉……我会在我的一个测试盒上做一些测试,看看我想出了什么。
标签: mongodb user-roles