zoukankan      html  css  js  c++  java
  • MongoDB AUTH结果验证

     

    1. 创建超级管理员和普通用户

    #创建超级管理员 super

    db.createUser( 

      { user: "super", 

        pwd: "super", 

        roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ] 

      } 

    ); 

    #创建读写管理员 gxpt

    db.createUser( 

      { user: "gxpt", 

        pwd: "gxpt ", 

        roles: [ { role: "readWriteAnyDatabase", db: "gxpt" } ] 

      } 

    ); 

    必须在启用AUTH之前认证用户

    > db.auth('super', 'super');

    > db.auth('gxpt', 'gxpt');

    1.服务端查看当前用户

    > show users;

    {

            "_id" : "admin.readWrite",

            "user" : "readWrite",

            "db" : "admin",

            "roles" : [

                    {

                            "role" : "readWrite",

                            "db" : "gxpt"

                    }

            ],

            "mechanisms" : [

                    "SCRAM-SHA-1"

            ]

    }

    {

            "_id" : "admin.super",

            "user" : "super",

            "db" : "admin",

            "roles" : [

                    {

                            "role" : "dbAdminAnyDatabase",

                            "db" : "admin"

                    }

            ],

            "mechanisms" : [

                    "SCRAM-SHA-1"

            ]

    }

    }用户权限如下  

    用户  

    权限                      

    身份

    super 

    dbAdminAnyDatabase

    超级管理员

    gxpt

    readWrite

    普通用户

    分别比较super  和gxpt两个用户的操作权限

    2.未开启AUTH认证

    2.1 super用户登录

    新建数据库

    ok

    删除数据库

    ok

    2.1 gxpt用户登录

    新建数据库

    ok

    删除数据库

    ok

    结论:未启用AUTH,普通用户可以对任何数据库做 新增、删除操作!!!

    3. 开启AUTH认证

    需要在未启用AUTH的情况下对 admin 和 gxpt启用认证。

    > db.auth("admin","admin");

    1

    > db.auth("gxpt","gxpt");

    1

    返回1 表明操作正常

    [root@Mongodb237 mongodb]# mongo -usuper -psuper 127.0.0.1/admin

    MongoDB shell version v4.0.0

    connecting to: mongodb://127.0.0.1:27017/admin

    MongoDB server version: 4.0.0

    > db;db;

    admin

    > show dbs;show dbs;

    admin  0.000GB

    gxpt   0.000GB

    local  0.000GB

    ok

    3.1           super用户登录

    super用户对gxpt数据库创建collection

    ok

    super用户对gxpt数据库创建collection

    Ok

    3.2           readwrite用户登录

    readwrite 只对gxpt数据库有读写权限,因此可以正常 创建、删除collection

    对于其他数据库没有读写权限!!!因此其他数据库不可见

    借用客户端对其他库创建collection 报错:未经过认证

    结论:启用AUTH之后,普通用户只对所属的数据库有操作权限。

  • 相关阅读:
    Aster寻路算法1(转)
    谈谈项目纵向项目验收
    要有兴趣
    用c# 操作 文件的方法
    使用ACT进行测试
    Generated servlet error: keyword cannot be resolved or is not a type
    米尔顿艾瑞克森的催眠引导词
    c# webcliend 来制作 网页搜捕器
    网页木马的解决方案
    用Swing实现数据表格功能
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/9884963.html
Copyright © 2011-2022 走看看