我正在尝试在mongo中创建一个可以在任何数据库中执行任何操作的用户.
根据指南,我创建了一个新的管理员:http://docs.mongodb.org/manual/tutorial/add-user-administrator
这是代码:
use admin db.addUser( { user: "try1",pwd: "hello,roles: [ "userAdminAnyDatabase" ] } )
然后我停止了mongo,启用了auth并重新启动了mongo.
根据本指南:http://www.mkyong.com/mongodb/how-to-create-database-or-collection-in-mongodb/
use fragola db.users.save( {username:"fragolino"} )
我得到这个:“没有授权在fragola.users上插入”
有人可以帮我吗
@H_404_20@解决方法
角色userAdminAnyDatabase使用户能够创建用户并为其分配任意角色.因此,该用户有权在数据库上执行任何操作,因为他可以给任何人任何许可(包括他自己).
但是,userAdminAnyDatabase角色本身不允许用户执行任何其他操作,除了为任意用户分配任意权限.要在数据库上实际执行某些操作,该用户需要具有以下其他角色:
readWriteAnyDatabase dbAdminAnyDatabase clusterAdmin
具有上述三个权限的用户和userAdminAnyDatabase是一个真正的超级用户,可以做任何事情.
@H_404_20@ @H_404_20@ 原文链接:https://www.f2er.com/mssql/81553.html