zoukankan      html  css  js  c++  java
  • mongodb3.X权限配置

    环境: CentOS6.8  mongodb3.4.1

    1、连接mongodb数据库(如果mongo命令没有做环境变量配置,需要定位到有mongo命令的目录)

    [root@VM_118_34_centos ~]# mongo
    MongoDB shell version v3.4.1
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.1

    2、切换到admin数据库,并添加管理员,退出(ctrl+c)

    db.createUser(  
      { user: "admin",  
        customData:{description:"superuser"},
        pwd: "admin",  
        roles: [{ role:"userAdminAnyDatabase", db:"admin"}]  
      }  
    )  
    
    user字段,为新用户的名字;
    pwd字段,用户的密码;
    cusomData字段,为任意内容,例如可以为用户全名介绍;
    roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色。在roles字段,可以指定内置角色和用户定义的角色。

    3 、查看创建的用户 

     show users 或 db.system.users.find()

    4、启用用户权限,修改配置文件,增加配置:

    security:
      authorization: enabled

    配置文件一般在 /etc/mongod.conf, 可以通过vi编码

    5、重启mongdb

    service mongodb restart

    6、测试管理员权限

    MongoDB shell version v3.4.1
    connecting to: mongodb://127.0.0.1:27017
    MongoDB server version: 3.4.1
    > use admin  --切换数据库
    switched to db admin
    > show dbs --没授权,展示数据库会报错unauthorized
    2017-01-11T15:43:07.179+0800 E QUERY    [main] Error: listDatabases failed:{
        "ok" : 0,
        "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
        "code" : 13,
        "codeName" : "Unauthorized"
    } :
    _getErrorWithCode@src/mongo/shell/utils.js:25:13
    Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
    shellHelper.show@src/mongo/shell/utils.js:755:19
    shellHelper@src/mongo/shell/utils.js:645:15
    @(shellhelp2):1:1
    > db.auth('admin','admin')
    1
    > show dbs --可以正常访问了
    admin  0.000GB
    local  0.000GB
    test   0.000GB

    其他内建的角色

    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root
    7. // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    8. 内部角色:__system
  • 相关阅读:
    668. Kth Smallest Number in Multiplication Table
    658. Find K Closest Elements
    483. Smallest Good Base
    475. Heaters
    454. 4Sum II
    441. Arranging Coins
    436. Find Right Interval
    410. Split Array Largest Sum
    392. Is Subsequence
    378. Kth Smallest Element in a Sorted Matrix
  • 原文地址:https://www.cnblogs.com/fhen/p/6273991.html
Copyright © 2011-2022 走看看