• mongodb中的用户及权限管理


    1.1 注意

    验证库: 建立用户时use到的库及用户的验证库,在使用用户时,要加上验证库才能登陆。
    
    对于管理员用户,必须在admin下创建.
    1. 建用户时,use到的库,就是此用户的验证库
    2. 登录时,必须明确指定验证库才能登录
    3. 通常,管理员用的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库
    4. 如果直接登录到数据库,不进行use,默认的验证库是test,不是我们生产建议的.
    5. 从3.6 版本开始,不添加bindIp参数,默认不让远程登录,只能本地管理员登录。

    1.2 用户创建语法

    use admin 
    db.createUser
    {
        user: "<name>",
        pwd: "<cleartext password>",
        roles: [
           { role: "<role>",
         db: "<database>" } | "<role>",
        ...
        ]
    }
    
    基本语法说明:
    user:用户名
    pwd:密码
    roles:
        role:角色名
        db:作用对象 
    role:root, readWrite,read   
    使用验证数据库登录: mongo
    -u oldboy -p 123 10.0.0.53/oldboy

    1.3 用户管理例子(创建管理员)

    创建超级管理员:管理所有数据库(必须use admin再去创建)
    $ mongo
    use admin
    db.createUser(
    {
        user: "root",
        pwd: "root123",
        roles: [ { role: "root", db: "admin" } ]
    }
    )

    验证创建的用户

    db.auth('root','root123')

    启用密码登录功能 - 配置文件中,加入以下配置并重新启动

    vim /mongodb/conf/mongo.conf
    
    security:
      authorization: enabled
    
    # 关闭并重启mongo
    mongod -f /mongodb/conf/mongo.conf --shutdown 
    mongod -f /mongodb/conf/mongo.conf 

    登录验证

    mongo -uroot -proot123  admin
    mongo -uroot -proot123  10.0.0.53/admin
    
    或者
    mongo
    use admin
    db.auth('root','root123')

    查看用户:

    use admin
    db.system.users.find().pretty()

    创建应用用户

    use oldboy
    db.createUser(
        {
            user: "app01",
            pwd: "app01",
            roles: [ { role: "readWrite" , db: "oldboy" } ]
        }
    )
    
    mongo  -uapp01 -papp01 app

    查询mongodb中的用户信息

    mongo -uroot -proot123 10.0.0.53/admin
    db.system.users.find().pretty()

    1.4 删除用户(root身份登录,use到验证库)

    删除用户
    db.createUser({user: "app02",pwd: "app02",roles: [ { role: "readWrite" , db: "oldboy1" } ]})
    mongo -uroot -proot123 10.0.0.53/admin
    use oldboy1
    db.dropUser("app02")

    1.5 用户管理注意事项

    1. 建用户要有验证库,管理员admin,普通用户是要管理的库
    2. 登录时,注意验证库
    mongo -uapp01 -papp01 10.0.0.51:27017/oldboy
    3. 重点参数
    net:
       port: 27017
       bindIp: 10.0.0.51,127.0.0.1
    security:
       authorization: enabled

    0

  • 相关阅读:
    数组的学习(一)
    Servlet是线程安全吗?
    MySql用户管理:添加用户、授权、删除用户
    泛型(二)
    泛型(一)
    Spring MVC
    spring框架
    mybatis基础
    Hibernate 基础
    Java局部类
  • 原文地址:https://www.cnblogs.com/quzq/p/13276131.html
Copyright © 2020-2023  润新知