• MongoDB用户管理


    1. 创建一个超级用户

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    use admin
    db.createUser(
      {
        user: "adminUserName",
        pwd: "userPassword",
        roles:
        [
          {
            role: "userAdminAnyDatabase",
            db: "admin"
          }
        ]
      }
    )

    超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。

    db是指定数据库的名字,admin是管理数据库。

    2. 用新创建的用户登录

    1
    mongo --host xxx -u adminUserName -p userPassword --authenticationDatabase admin

    不能用admin数据库中的用户登录其他数据库

    3. 查看当前用户的权限

    1
    2
    3
    4
    5
    6
    db.runCommand(
      {
        usersInfo:"userName",
        showPrivileges:true
      }
    )

    注:只能查看当前数据库中的用户,哪怕当前数据库admin数据库,也只能查看admin数据库中创建的用户。

    4. 创建一般用户,也是用createUser

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    use db01
    db.createUser(
      {
        user:"oneUser",
        pwd:"12345",
        roles:[
          {role:"read",db:"db01"},
          {role:"read",db:"db02"},
          {role:"read",db:"db03"}
        ]
      }
    )

    5. 创建一个不受访问限制的超级用户

    1
    2
    3
    4
    5
    6
    7
    8
    use admin
    db.createUser(
      {
        user:"superuser",
        pwd:"pwd",
        roles:["root"]
      }
    )

    6. 修改密码

    1
    2
    use admin
    db.changeUserPassword("username", "xxx")

    7. 查看用户信息

    1
    db.runCommand({usersInfo:"userName"})

    8. 修改密码和用户信息

    1
    2
    3
    4
    5
    6
    7
    db.runCommand(
      {
        updateUser:"username",
        pwd:"xxx",
        customData:{title:"xxx"}
      }
    )

    注:

    1. 和用户管理相关的操作基本都要在admin数据库下运行,要先use admin;

    2. 如果在某个单一的数据库下,那只能对当前数据库的权限进行操作;

    3. db.addUser是老版本的操作,现在版本也还能继续使用,创建出来的user是带有root role的超级管理员。

  • 相关阅读:
    并发编程-操作系统简史,多道技术
    python下的excel表格处理 内含面试题
    epoll模型的探索与实践
    nginx搭建静态网站
    面向对象基础
    python+Django 下JWT的使用
    linux的history命令
    携程apollo配置中心Quick Start
    redis哨兵
    redis的主从复制
  • 原文地址:https://www.cnblogs.com/yangwenbin/p/4448175.html
Copyright © 2020-2023  润新知