当前位置:  开发笔记 > 编程语言 > 正文

在mongo中创建超级用户

如何解决《在mongo中创建超级用户》经验,为你挑选了2个好方法。

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

有人可以帮帮我吗?



1> vijay..:

来自docs.mongodb.org-超级用户角色

让我们写一些看起来简单且易于实现的答案

脚步 :

1:sudo apt-get install mongodb-org - 在新的终端

2: sudo mongod --port 27017 --dbpath /var/lib/mongodb

3:mongo --port 27017 - 在新的终端

4: use admin

5:正如@drmirror所说,用户应该拥有所有4个角色才能成为超级用户

对于Mongo版本2.

db.createUser(
{
    user: "tom",
    pwd: "jerry",
    roles: [
              { role: "userAdminAnyDatabase", db: "admin" },
              { role: "readWriteAnyDatabase", db: "admin" },
              { role: "dbAdminAnyDatabase", db: "admin" },
              { role: "clusterAdmin", db: "admin" }
           ]
})

对于Mongo版本3.

db.createUser(
   {
       user: "tom", 
       pwd: "jerry", 
       roles:["root"]
   })

6:sudo /etc/init.d/mongod stopsudo service mongod stop - 在新的终端

7:sudo /etc/init.d/mongod startsudo service mongod start

8: restart your pc

9:sudo mongod --auth --port 27017 --dbpath /var/lib/mongodb - 在新的终端

10:mongo --port 27017 -u "tom" -p "jerry" --authenticationDatabase "admin" - 在新的终端

注意:第10步是最重要的一步.

它将在终端上给出输出

MongoDB shell version: 2.6.11
connecting to: 127.0.0.1:27017/test
>


您需要放置数据库和角色,例如角色:[{role:'root',db:'admin'}]

2> drmirror..:

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

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

readWriteAnyDatabase
dbAdminAnyDatabase
clusterAdmin

拥有上述三项权利并且 userAdminAnyDatabase是真正的超级用户且可以执行任何操作的用户.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有