数据库 – 在mongo中创建超级用户

我正在尝试在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上插入”

有人可以帮我吗

解决方法

角色userAdminAnyDatabase使用户能够创建用户并为其分配任意角色.因此,该用户有权在数据库上执行任何操作,因为他可以给任何人任何许可(包括他自己).

但是,userAdminAnyDatabase角色本身不允许用户执行任何其他操作,除了为任意用户分配任意权限.要在数据库上实际执行某些操作,该用户需要具有以下其他角色:

readWriteAnyDatabase
dbAdminAnyDatabase
clusteradmin

具有上述三个权限的用户和userAdminAnyDatabase是一个真正的超级用户,可以做任何事情.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...