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

MongoDB AUTH结果验证的更多相关文章

  1. MongoDB AUTH结果验证及开启方法

          创建超级管理员(root)和普通用户(gxpt) #创建超级管理员(root) RS1:PRIMARY> use admin RS1:PRIMARY> db.createUse ...

  2. mongodb添加登陆验证

    mongodb添加登陆验证 转载地址 清空log,db目录 mongod --auth --logpath "D:\mongodb\log\log.log" --logappend ...

  3. windows系统,MongoDB开启用户验证登录的正确姿势

    MongoDB默认安装并没有开启用户名密码登录,这样太不安全了,百度出来的开启验证登录的文章,对初次使用MongoDB的小白太不友好了,总结下经验,自己写一份指引. 1,我的安装路径是C:\Progr ...

  4. 关于laravel框架的Auth::attempt验证失败

    按照官方文档进行认证 发现不管怎么样都是失败 if (Auth::attempt(array('email' => $email, 'password' => $password), tr ...

  5. MongoDB添加用户验证

    Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...

  6. 从.Net到Java学习第六篇——SpringBoot+mongodb&Thymeleaf&模型验证

    SpringBoot系列目录 SpringBoot整合mongodb MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.如果你没用过Mong ...

  7. Django auth 用户验证

    ## Django本身内建这样的功能,admin管理页面就使用了这样的验证机制,admin管理页面就有Groups和Users选项 ## 需要在models.py中导入 from django.con ...

  8. nginx basic auth 登陆验证模块

    #1. 新建一个pw.pl文件专门用来生成密码 #!/usr/bin/perl use strict; my $pw=$ARGV[0]; print crypt($pw,$pw)."\n&q ...

  9. jenkins Auth fail验证失败

    重新设置密码

随机推荐

  1. 6.0-uC/OS-III软件定时器管理

    1.软件定时器管理 uC/OS-III提供了软件定时器服务(相关代码在OS_TMR.C中).当设置OS_CFG.H中的OS_CFG_TMR_EN为1时软件定时器服务被使能. 2.uC/OS-III 定 ...

  2. idea 无法找到或加载主类

  3. 2018-2019-1 20189221 《Linux内核原理与分析》第九周作业

    2018-2019-1 20189221 <Linux内核原理与分析>第九周作业 实验八 理理解进程调度时机跟踪分析进程调度与进程切换的过程 进程调度 进度调度时机: 1.中断处理过程(包 ...

  4. python set的函数

    1. add() 为集合添加元素 2. clear() 移除集合中的所有元素 3. copy() 拷贝一个集合 4. difference() 返回多个集合的差集 5. difference_upda ...

  5. python_函数式编程

    函数式编程是一种编程范式 (而面向过程编程和面向对象编程也都是编程范式).在面向过程编程中,我们见到过函数(function):在面向对象编程中,我们见过对象(object).函数和对象的根本目的是以 ...

  6. Eclipse Error Reporting Welcome to the Eclipse Error Reporting Service.Do you want to help Eclipse? Enable Disable

    在开发的时候,使用Eclipse IDE,提示如下信息, 这是Eclipse的错误报告,如果不想发送,可以关闭掉,关闭方法: 选择Preferences -> General -> Err ...

  7. n皇后问题——关于斜线的编号

    题目大意:在n*n的棋盘中,放置n个皇后(同一行.同一列.同一斜线,只有一个皇后) 这道题是一道非常经典的dfs模板题,同一行.同一列的判断不是很难,但同一斜线有一定的难度,下面给出关于斜线编号的解决 ...

  8. windows 允许其他电脑访问本地mysql数据库

    第一步:用ping命令测试两台电脑是否连通 如果两台电脑是连通的请转到第二步,如果是非连通的请进行如下操作: 1.进入控制面板,打开Windows Defender 防火墙,点击高级设置(本人用的是W ...

  9. 调度器的实现、schedule、switch_context、switch_to

    根据<深入Linux内核架构>和Linux-3.10.1内核源码,记一些调度过程的主体工作. 调度器任务:CPU数目比要运行的进程数目少,需要程序之间共享CPU时间,创造并行执行的错觉.分 ...

  10. 复习-css列表和表格相关属性

    css列表和表格相关属性 list-style:设置所有列表属性 list-style-image:将图像设置为列表项标记,主要有url值 list-style-position:设置列表项标记的放置 ...