Mongodb 没有管理员权限
Mongodb No Access with admin
我 运行遇到了一个奇怪的问题。我用于测试的本地数据库工作正常,但今天在启动后
mongod --auth
我无法再运行 测试,因为身份验证有效但访问数据库被拒绝。
现在我的管理员用户在 authdb
admin
中。它具有userAdminAnyDatabase
的作用。我尝试用
再次更新用户
db.updateUser("admin",
{pwd: "somePass", roles:[
{role: "userAdminAnyDatabase", db: "admin"}
]}
);
但我没有运气。这就是我在数据库中的条目。
{
"role" : "userAdminAnyDatabase",
"db" : "admin",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
}
我也再次检查了文档,仍然不知道访问是如何被拒绝的(尤其是之前一切正常的情况下)。问题绝对不在我的节点应用程序中,因为 noSQLBooster
也被拒绝访问。
如果有人知道我目前做错了什么,我将不胜感激。
好的。这是我为解决此问题所做的工作。 (仍然没有解决的是使用旧设置访问数据库是如何工作的)
我不仅将角色 userAdminAnyDatabase
添加到 admin
,而且还添加了 dbAdminAnyDatabase
和 readWriteAnyDatabase
为了让我的测试更安全,我还创建了一个 unitTest
用户和一个 defaultUser
有权访问适当的数据库,这样我就不会 运行 陷入掉线的危险中我的生产数据库不小心。
我 运行遇到了一个奇怪的问题。我用于测试的本地数据库工作正常,但今天在启动后
mongod --auth
我无法再运行 测试,因为身份验证有效但访问数据库被拒绝。
现在我的管理员用户在 authdb
admin
中。它具有userAdminAnyDatabase
的作用。我尝试用
db.updateUser("admin",
{pwd: "somePass", roles:[
{role: "userAdminAnyDatabase", db: "admin"}
]}
);
但我没有运气。这就是我在数据库中的条目。
{
"role" : "userAdminAnyDatabase",
"db" : "admin",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
}
我也再次检查了文档,仍然不知道访问是如何被拒绝的(尤其是之前一切正常的情况下)。问题绝对不在我的节点应用程序中,因为 noSQLBooster
也被拒绝访问。
如果有人知道我目前做错了什么,我将不胜感激。
好的。这是我为解决此问题所做的工作。 (仍然没有解决的是使用旧设置访问数据库是如何工作的)
我不仅将角色 userAdminAnyDatabase
添加到 admin
,而且还添加了 dbAdminAnyDatabase
和 readWriteAnyDatabase
为了让我的测试更安全,我还创建了一个 unitTest
用户和一个 defaultUser
有权访问适当的数据库,这样我就不会 运行 陷入掉线的危险中我的生产数据库不小心。