", user字段:用户的名字;pwd: ...">
美文网首页我爱编程
MongoDB的权限管理

MongoDB的权限管理

作者: 在路上_4c4b | 来源:发表于2018-05-28 20:00 被阅读0次

1.用户权限说明

image.png

2.用户创建语法

{
user: "<name>", user字段:用户的名字;
pwd: "<cleartext password>", pwd字段:用户的密码;
customData: { <any information> }, cusomData字段:为任意内容
roles: [
roles字段:指定用户的角色,可以用一个空数组给新用户设定空角色;
{ role: "<role>",
db: "<database>" } | "<role>",
...
]
}
roles 字段:可以指定内置角色和用户定义的角色。
roles字段:指定用户的角色,可以用一个空数组给新用户设定空角色;

3.创建管理员用户

3.1进入管理数据库
> use admin
创建管理用户,root权限
 >db.createUser(
    {
      user: "root",
      pwd: "root",
      roles: [ { role: "root", db: "admin" } ]
    }
    )    

注意:
创建管理员角色用户的时候,必须到admin下创建。删除的时候也要到相应的库下操作。

3.2查看创建完用户后的collections;
    >use admin
    > show collections; 
      system.users  # 用户存放位置
      system.version
    
    > db.system.users.find().pretty()
    {
        "_id" : "admin.root",
        "user" : "root",
        "db" : "admin",
        "credentials" : {
            "SCRAM-SHA-1" : {
                "iterationCount" : 10000,
                "salt" : "v3v1oEvwvX70i+ENCkSiLQ==",
                "storedKey" : "aswu2GvDubCXFokl72ZVYzgW1DA=",
                "serverKey" : "6maLC10hXo+MJACBWhkwEfRuRkE="
            }
            },
        "roles" : [
            {
                "role" : "root",
                "db" : "admin"
            }
        ]
    }

    > show users   (只能查询本库)
      {
        "_id" : "admin.root",
        "user" : "root",
        "db" : "admin",
        "roles" : [
            {
                "role" : "root",
                    "db" : "admin"
            }
            ]
        }
3.3.验证用户是否能用
    > db.auth("root","root")
    1  # 返回 1 即为成功
3.4.用户创建完成后在配置文件中开启用户验证
    cat >>/etc/mongod.conf<<-'EOF'
      security:
      authorization: enabled
      EOF
      ** *之后需要重启服务****

4登录MongoDB

方法一:命令行中进行登陆
  [mongod@MongoDB ~]$ mongo -uroot -proot admin 
  MongoDB shell version: 3.2.8
  connecting to: admin
方法二:在数据库中进行登陆验证:
  [mongod@MongoDB ~]$ mongo 
    MongoDB shell version: 3.2.8
    connecting to: test
    > use admin
    switched to db admin
  > db.auth("root","root")
  1
  > show tables;
    system.users
    system.version

5按生产需求创建应用用户

创建只读用户
5.11在test库创建只读用户test
  use test
  db.createUser(
    {
      user: "test",
        pwd: "test",
      roles: [ { role: "read", db: "test" } ]
      }
    )
5.1.2测试用户是否创建成功
  db.auth("test","test")
  show  users;
5.1.3登录test用户,并测试是否只读
    show collections;
    db.createCollection('b')
5.2创建某库的读写用户
5.2.1创建test1用户,权限为读写
    db.createUser(
      {
        user: "test1",
        pwd: "test1",
        roles: [ { role: "readWrite", db: "test" } ]
      }
    )
5.2.2查看并测试用户
    show users;
    db.auth("test1","test1")
5.3创建对多库不同权限的用户
5.3.1创建对app为读写权限,对test库为只读权限的用户
    use app
    db.createUser(
      {
        user: "app",
        pwd: "app",
        roles: [ { role: "readWrite", db: "app" },
             { role: "read", db: "test" }
         ]
        }
       )
5.3.2查看并测试用户
    show users
    db.auth("app","app")

6.删除用户

1.删除app用户:先登录到admin数据库
  mongo -uroot –proot 127.0.0.1/admin
2.进入app库删除app用户
  use app
  db.dropUser("app")

7. 自定义数据库

1.创建app数据库的管理员:先登录到admin数据库
  use app
  db.createUser(
  {
  user: "admin",
  pwd: "admin",
  roles: [ { role: "dbAdmin", db: "app" } ]
  }
  )
2.创建app数据库读写权限的用户并具有clusterAdmin权限:
  use app
  db.createUser(
    {
    user: "app04",
    pwd: "app04",
    roles: [ { role: "readWrite", db: "app" },
    { role: "clusterAdmin", db: "admin" }
    ]
    }
     )

SQL与MongoDB语言对比

mongo博客

相关文章

  • 25.Mongodb的权限管理

    Mongodb的权限管理 学习目标 1.了解 mongodb的权限管理 1. 为什么要进行权限管理的设置 刚安装完...

  • 2018-03-27

    MongoDB的账户与权限管理 默认的MongoDB是没有账户权限管理的,也就是说,不需要密码即可登陆,即可拥有读...

  • mongodb用户权限管理最全攻略(转)

    https://segmentfault.com/a/1190000015603831 mongodb用户权限管理...

  • mongodb 认证鉴权那点事

    一、Mongodb 的权限管理 认识权限管理,说明主要概念及关系 与大多数数据库一样,Mongodb同样提供了一套...

  • Mongodb 权限管理

    背景 出于安全因素,数据管理员通过权限管理来保护数据, 防止数据库的数据被恶意或者错误删除。数据库基本上也提供这样...

  • mongodb权限管理

    超级管理员 1.创建超级管理用户 2.创建成功后退出mongodb客户端, 然后service mongodb s...

  • MongoDB的权限管理

    1.用户权限说明 2.用户创建语法 {user: "", user字段:用户的名字;pwd: ...

  • mongoBD--管理员权限windows/ubuntu

    不开启权限的时候启动mongoDB: 创建超级管理用户 启用安全认证 重启启动mongo服务: 开启权限后登陆 修...

  • MongoDB用户权限管理

    1. 进入MongoDB的shell 注意:mongo.conf文件中的auth应设置为false启动mongo服...

  • Mongodb用户权限管理相关命令

    Mongodb用户权限管理相关命令 https://blog.csdn.net/jom_ch/article/de...

网友评论

    本文标题:MongoDB的权限管理

    本文链接:https://www.haomeiwen.com/subject/cucnjftx.html