码迷,mamicode.com
首页 > 其他好文 > 详细

Mongo 权限检查

时间:2018-08-06 18:29:28      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:service   monit   install   重启   mina   any   pwd   clust   注释   

权限检查

MongoDB用户权限分配的操作是针对某个库来说的。--这句话很重要。

 

Built-In Roles(内置角色):

1. 数据库用户角色:read、readWrite;

2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;

3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;

4. 备份恢复角色:backup、restore;

5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase

6. 超级用户角色:root 

// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

7. 内部角色:__system

 

       默认不开启权限检查。关闭与开启切换服务重启服务。

 

       Windows下开启

       默认安装。

       创建用户管理帐号。

# mongo

db.createUser(

  {

    user: "root",

    pwd: "root",

    roles: [ { role: "root", db: "admin" } ]

  }

)

停止服务。

管理员运行cmd,卸载服务。

C:\MongoDB\Server\3.6\bin>mongod --remove

2018-08-06T09:38:01.000+0800 I CONTROL  [main] Trying to remove Windows service

‘MongoDB‘

2018-08-06T09:38:01.002+0800 I CONTROL  [main] Service ‘MongoDB‘ removed

重新安装,添加 --auth选项。

>mongod --install --logpath C:\MongoDB\Server\3.6\data\log\mongo.log --dbpath C:\MongoDB\Server\3.6\data\db –auth

       启动服务。

       登陆mongo,通过所建用户管理帐号工作。

       注意,如果首次安装就添加 --auth选项,那啥也干不了...

 

       Ubuntu下开启

# vim /etc/mongodb.conf

auth = true  # 注释即为关闭权限检查。

       # service mongodb restart  # 打开或关闭权限检查需要重启服务。

 

       创建用户、删除用户、查看用户、验证用户。

db.createUser({

    user: "",

    pwd: "",

    roles: [

        { role: "", db: "" }, ...

    ]

})

       db.system.users.find().pretty();

       use db1;

       show users;

       db.system.users.remove({user:""});

       use admin;

       db.auth("user","pwd");

 

       实例:神、所有数据库用户管理、所有数据库读、所有数据库读写、某个数据库读、某个数据库读写。

       关闭检查。

# service mongodb restart

# mongo

db.createUser(

  {

    user: "root",

    pwd: "1",

    roles: [ { role: "root", db: "admin" } ]

  }

)

db.createUser(

  {

    user: "manageruser",

    pwd: "1",

    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]

  }

)

db.createUser(

  {

    user: "readall",

    pwd: "1",

    roles: [ { role: "readAnyDatabase", db: "admin" } ]

  }

)

db.createUser(

  {

    user: "readwall",

    pwd: "1",

    roles: [ { role: "readWriteAnyDatabase", db: "admin" } ]

  }

)

db.createUser(

  {

    user: "db1r",

    pwd: "1",

    roles: [ { role: "read", db: "db1" } ]

  }

)

db.createUser(

  {

    user: "db1rw",

    pwd: "1",

    roles: [ { role: "readWrite", db: "db1" } ]

  }

)

       打开检查。

       测试。注意,切换用户需要use admin;操作数据库需要use 目标数据库;

Mongo 权限检查

标签:service   monit   install   重启   mina   any   pwd   clust   注释   

原文地址:https://www.cnblogs.com/dailycode/p/9431731.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!