zoukankan      html  css  js  c++  java
  • 3.mongodb用户管理

    1.用户及权限管理

      验证库:建立用户时use到的库,在使用用户时,要加上验证库才能登陆。

      对于管理员用,必须在admin下创建

      1.建立用户时,use到的库,就是此用户的验证库

      2.登陆时,必须明确指定验证库才能登陆

      3.通常,管理员的验证库是admin,普通用户的验证库一般是所管理的库设置为验证库

      4.如果直接登录到数据库,不进行use,默认的验证库是test,不是我们生产建议的。

      5.从3.6版本开始,不添加bind Ip参数,默认不让远程登录,只能本地管理员登录。

    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

    3.用户管理例子

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

    配置文件中,加入以下配置
    security:
      authorization:enabled ###支持验证
    重启mongodb
      systemctl restart mongod

    4. 创建库管理用户

    mongo -uroot -proot123   admin
    
    use app
    
    db.createUser(
    
    user: "admin",
    
    pwd:"admin",
    
    roles:[  { role:"dbAdmin", db:"app" }  ]
    
    )
    
    db.auth('admin','admin')
    
    登录测试   :   mongo -uadmin -padmin   172.17.94.206/app

    5.创建对app 数据库,读写权限的用户app01   ******

    (1)超级管理员用户登录
    
    mongo -uroot -proot123  admin
    
    (2)选择一个验证库
    
    use app
    
    (3)创建用户
    
    db.createUser(
    
      {
    
        user:"app01",
        pwd:"app01",
        roles:[{role:"readWrite",db:"app"}]
      }
    
    )
    mongo -uapp01 -papp01 远程地址/app库

    6.创建app数据库读写权限的用户并对test数据库具有读权限

    ####创建一个用户对多个库具有不同的权限
    mongo -uroot -proot123 远程ip地址/admin use app db.createUser( { user:"app03", pwd:"app03", roles:[ { role:"readWrite", db:"app"},{ role:"read",db:"test" } ] } )

    7 查询mongodb中的用户信息

    mongo -uroot -proot123  远程ip地址/admin
    
    db.system.users.find().pretty()

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

    删除用户
    
    mongo -uroot -proot123  172.17.94.206/admin
    
    use app
    
    db.dropUser("admin")
  • 相关阅读:
    【转】Android Touch事件传递机制解析
    通过Selector来设置按钮enable/unable状态的样式
    Android中的selector
    Android单元测试
    Android Lint简介
    制作高仿QQ的聊天系统(下)—— Adapter & Activity
    EditText的监听器和自定义回车事件
    监听Listview的滚动状态,是否滚动到了顶部或底部
    制作高仿QQ的聊天系统(上)—— 布局文件 & 减少过度绘制
    数据更新后让ListView自动滚动到底部
  • 原文地址:https://www.cnblogs.com/zmc60/p/13947266.html
Copyright © 2011-2022 走看看