• 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之后,普通用户只对所属的数据库有操作权限。

  • 相关阅读:
    显示等待WebDriverWait
    MySQL添加注释
    linux
    linux时区问题
    CentOS禁用笔记本touchpad
    Mysql事务隔离级别
    IDEA集成有道翻译插件/maven帮助插件/mybatis插件
    SVN服务器的搭建和使用
    IntelliJ IDEA工具的安装使用
    IntelliJ IDEA的使用操作链接
  • 原文地址:https://www.cnblogs.com/iyoume2008/p/9884963.html
Copyright © 2020-2023  润新知