MongoDB AUTH结果验证
- 创建超级管理员和普通用户
|
#创建超级管理员 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 和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结果验证的更多相关文章
- MongoDB AUTH结果验证及开启方法
创建超级管理员(root)和普通用户(gxpt) #创建超级管理员(root) RS1:PRIMARY> use admin RS1:PRIMARY> db.createUse ...
- mongodb添加登陆验证
mongodb添加登陆验证 转载地址 清空log,db目录 mongod --auth --logpath "D:\mongodb\log\log.log" --logappend ...
- windows系统,MongoDB开启用户验证登录的正确姿势
MongoDB默认安装并没有开启用户名密码登录,这样太不安全了,百度出来的开启验证登录的文章,对初次使用MongoDB的小白太不友好了,总结下经验,自己写一份指引. 1,我的安装路径是C:\Progr ...
- 关于laravel框架的Auth::attempt验证失败
按照官方文档进行认证 发现不管怎么样都是失败 if (Auth::attempt(array('email' => $email, 'password' => $password), tr ...
- MongoDB添加用户验证
Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...
- 从.Net到Java学习第六篇——SpringBoot+mongodb&Thymeleaf&模型验证
SpringBoot系列目录 SpringBoot整合mongodb MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.如果你没用过Mong ...
- Django auth 用户验证
## Django本身内建这样的功能,admin管理页面就使用了这样的验证机制,admin管理页面就有Groups和Users选项 ## 需要在models.py中导入 from django.con ...
- nginx basic auth 登陆验证模块
#1. 新建一个pw.pl文件专门用来生成密码 #!/usr/bin/perl use strict; my $pw=$ARGV[0]; print crypt($pw,$pw)."\n&q ...
- jenkins Auth fail验证失败
重新设置密码
随机推荐
- asp.net mvc easyui tree
1.html页面代码: <div class="easyui-panel" style="padding:5px" id="powerTree& ...
- android studio样式文件汇总
android studio样式文件汇总:shape.Theme|styles .selector 1:shape shape用于设定形状,有6个子标签,各属性如下: res/drawable/sty ...
- python tkinter button
"""小白随笔,大佬勿喷""" '''Button按钮 点击执行对应的命令''' import tkinter as tk #初始化窗口 w ...
- (转)Golang--使用iota(常量计数器)
iota是golang语言的常量计数器,只能在常量的表达式中使用. iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(io ...
- [LeetCode] 236. Lowest Common Ancestor of a Binary Tree_ Medium tag: DFS, Divide and conquer
Given a binary tree, find the lowest common ancestor (LCA) of two given nodes in the tree. According ...
- linear-gradient常用实现效果
之前也研究过css3的这个属性,感觉没什么大用,一般的开发不会用到,毕竟调出来的渐变不专业,不如找一个好看的图片,其实很多时候还是有用的,偷来三个例子. 一.控制虚线 一般写虚线都用dashed,但有 ...
- CSS实现经典的三栏布局
实现效果: 左右栏定宽,中间栏自适应 (有时候是固定高度) 1 . 绝对定位布局:position + margin <div class="container"> & ...
- Unity之配置转换工具
本人写的配置转换工具,可将策划的配置excel文件一键转换为unity的asset文件或lua代码: 转换请注明出处:http://www.cnblogs.com/jietian331/p/86252 ...
- mybatis常见问题和错误
1. jdbc java type 映射关系 1) mysql的text 在mybatis中使用varchar类型 2. mybatis常见的错误 3.There is no getter for p ...
- PHP 7.3: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? · Issue #4037 · aces/Loris
PHP 7.3: "continue" targeting switch is equivalent to "break". Did you mean to u ...