zoukankan      html  css  js  c++  java
  • MongoDB用户权限管理

    前提条件:具备管理员账号

    注意:MongoDB原生特性:账号都在特定的库里认证,不像mysql使用全局认证,也就是说登录时mysql不需指定认证的库,而mongo的账号在特定的库中,admin库或者普通库,因此登录时需指定--authenticationDatabase <dbname>  指定创建User的数据库;在特定的数据库中创建User,该DB就是User的authentication database。在连接mongo时,使用参数 --authenticationDatabase,会认证 -u 和 -p 参数指定的账户和密码。如果没有指定验证数据库,mongo使用连接字符串中指定的DB作为验证数据块。

    ---

    查看所有用户

    use admin  /使用admin库

    show users

    ---

    创建只读用户

    use admin  /使用admin库

    db.createUser({user:'readonly',pwd:'123456',roles:['readAnyDatabase']})  /创建具有所有库只读的readonly账号。

    ---

    创建读写用户

    use admin  /使用admin库

    db.createUser({user:'rw',pwd:'123456',roles:['readWriteAnyDatabase']})  /创建具有所有库读写的账号。

    ---

    创建单库只读,读写用户

    use admin  /使用admin库,也可以在use 单库,这样登录时需使用该库做认证

    db.createUser({user: "readonly2", pwd: "123456", roles: [{ role: "readWrite", db: "account_openid_0" }]})  /创建单库只读账号

    db.createUser({user: "readonly3", pwd: "123456", roles: [{ role: "read", db: "cash_guild_room_flow" }]})  /创建单库读写账号

    ---

    更新用户权限

    use admin  /使用admin库

    db.updateUser("readonly2",{roles:[ {role:"read",db:"testDB"} ]})  /修改单库权限为只读

    ---

    增加用户权限

    use admin  /使用admin库

    db.grantRolesToUser("rw", [{role:"readWrite", db:"audit_admin_op_log"}])   /给rw用户增加单库读写权限

     

  • 相关阅读:
    php多进程和多线程的比较
    设计模式学习系列——建造者模式
    设计模式学习系列——单例模式
    设计模式学习系列——前言
    设计模式学习系列——工厂模式
    记一次给nginx的web服务器目录加软链接
    某公司后端开发工程师面试题学习
    2010年腾讯前端面试题学习(jquery,html,css部分)
    2010年腾讯前端面试题学习(js部分)
    winfrom 隐藏任务栏(win7)
  • 原文地址:https://www.cnblogs.com/normanlin/p/13754766.html
Copyright © 2011-2022 走看看