1. 在开启MongoDB 服务时不添加任何参数时,可以对数据库任意操作,而且可以远程访问数据库。如果启动的时候指定—auth参数,可以对数据库进行用户验证。

        $ ./mongod --auth >> mongodb.log & 开启./mongo
    

MongoDB shell version: 1.8.1

connecting to: test

show dbs

admin (empty)

local (empty)

  1. 添加用户

在刚安装完毕的时候MongoDB都默认有一个admin数据库,而admin.system.users中将会保存比在其它数据库中设置的用户权限更大的用户信息。

当admin.system.users中一个用户都没有时,即使mongod启动时添加了–auth参数,如果没有在admin数据库中添加用户,此时不进行任何认证还是可以做任何操作,直到在admin.system.users中添加了一个用户。

下面创建数据库tage,并给tage创建用户:

use tage

switched to db tage

db.addUser(“tage”,“123”)

{

     "user" : "tage","readOnly" : false,"pwd" : "1f66d5c4223029536080d41febe0ec33"

}

在admin库中创建root用户:

use admin

switched to db admin

db.addUser(“root”,“123456”)

{

     "user" : "root","readOnly" : false,"pwd" : "34e5772aa66b703a319641d42a47d696"

}

  1. 验证用户:

db.auth(“root”,“123”)

0 密码错误,返回0,验证失败

db.auth(“root”,“123456”)

1 验证成功,返回1

下面试验用户权限设置:

$ ./mongo 登录时不加用户名与密码

MongoDB shell version: 1.8.1

connecting to: test

use tage

switched to db tage

db.system.users.find()

error: {

     "$err" : "unauthorized db:tage lock type:-1 client:127.0.0.1","code" : 10057

}

  1. 以上验证说明,登录时不指定用户名与密码,就会报错。下面指定用户与密码

$ ./mongo -uroot -p123456 指定用户与密码,但是不指定库名

MongoDB shell version: 1.8.1

connecting to: test

Wed Aug 3 21:30:42 uncaught exception: login failed

exception: login failed

mongodb登录时默认连接test库,如果登录时不指定库名,就会报错

  1. 下面以tage库的用户名登录进行验证:

$ ./mongo tage -utage -p123

MongoDB shell version: 1.8.1

connecting to: tage

db.system.users.find() 对所属自己的库进行操作,有权限

{ “_id” : ObjectId(“4e394c696b50a56254359088”), “user” : “tage”, “readOnly” : false, “pwd” : “1f66d5c4223029536080d41febe0ec33” }

use admin

switched to db admin

db.system.users.find() 对其他库操作,没有权限

error: {

     "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1","code" : 10057

}

  1. 下面以admin库下的root用户登录进行验证:

./mongo admin -uroot -p123456

MongoDB shell version: 1.8.1

connecting to: admin

db.system.users.find()

{ “_id” : ObjectId(“4e394caf6b50a56254359089”), “user” : “root”, “readOnly” : false, “pwd” : “34e5772aa66b703a319641d42a47d696” }

use tage

switched to db tage

db.system.users.find() 对其他库进行操作,有权限

{ “_id” : ObjectId(“4e394c696b50a56254359088”), “user” : “tage”, “readOnly” : false, “pwd” : “1f66d5c4223029536080d41febe0ec33” }

  1. mongodb的远程用户连接

语法结构:mongo –uusername –ppwd ServerIP:port/dbname

其中port默认为27017

$ ./mongo -uroot -p123456 192.168.2.150/admin

MongoDB shell version: 1.8.1

connecting to: 192.168.2.150/admin

db.system.users.find()

{ “_id” : ObjectId(“4e394caf6b50a56254359089”), “user” : “root”, “readOnly” : false, “pwd” : “34e5772aa66b703a319641d42a47d696” }
原链接地址:https://blog.csdn.net/joeyon1985/article/details/45668485

MongoDB的授权和权限相关推荐

  1. MongoDB用户授权和管理

    2019独角兽企业重金招聘Python工程师标准>>> MongoDB用户授权和管理 2017年02月15日 15:40:04 奋斗吧_攻城狮 阅读数:6974 标签: mongod ...

  2. MongoDB 3.X 用户权限控制

    摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进 ...

  3. MongoDB数据库授权认证

    MongoDB数据库授权认证 文章目录 MongoDB数据库授权认证 1.与用户相关的命令 2.配置mongodb登陆授权认证 2.1.创建一个用户 2.2.修改配置文件启用用户认证 2.3.重启mo ...

  4. mongodb未授权漏洞

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一.mongodb是什么? 二.环境搭建 1.测试机器 2.靶场搭建 三.漏洞修复 前言 mongodb未授权访问,是指数 ...

  5. MongoDB:数据库角色权限

    1. 理解Admin数据库 新安装的MongoDB是没有账号设置,不用安全验证,任何人只要连接上服务就可以进行CRUD操作,这是非常不安全的. 所以我们需要对MongoDB进行设置账号,来控制对数据库 ...

  6. 玩转SpringCloud Security OAuth2资源授权动态权限扩展

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/new_com/article/ details/104731154 在Spring Cloud Security 中,认证和授 ...

  7. 虎跃后台管理系统,数据分发+授权管理+权限管理

    虎跃后台管理系统,是一款集数据分发+授权管理+权限管理的系统.支持高并发,搞扩展.支持分布式读写分离. 模式: 应用=>登陆=>设备授权=>合法=>获取数据=>区分账套= ...

  8. Shiro 授权(权限)

    文章目录 一.授权(权限) 1.1 什么是权限 1.2 权限框架 二.身份验证Subject(配置文件版) 2.1 导入依赖 2.2 shiro.ini 2.3 权限验证(登录) 2.4 身份认证流程 ...

  9. 吊打面试官系列之:什么是 认证、鉴权、授权、权限控制,这一篇必须安排的明明白白。

    鉴权方案 1.引言 2.鉴权方案 2.1 认证 2.2 鉴权 2.3 授权 2.4 权限控制 2.5 认证,鉴权,授权及权限控制的关系 3.总结 1.引言 小屌丝:鱼哥,啥是认证,啥是鉴权? 小鱼:嗯 ...

  10. linux创建用户、用户组、授权读写权限等权限相关常用命令

    先来个简单完整的创建用户并授权读写权限流程: #1,创建用户: useradd 用户名 useradd xiaoming#2,给用户设置密码: passwd 用户名 passwd xiaoming#3 ...

最新文章

  1. Android Q 变更和新特性
  2. Android 项目集成腾讯X5浏览器内核
  3. tp3.2php开启事务,ThinkPHP 3.2.2实现事务操作的方法
  4. 单片机原理及其应用——单片机定时器中断实验(八段数码管依次显示0~9数字)
  5. CentOS 7下安装Mono
  6. 系统之家win11最新旗舰版64位镜像v2021.07
  7. java 网络实验_java网络聊天室实验
  8. iOS开发 - OC - 实现本地数据存储的几种方式一
  9. 把一个web项目改名后复制,再把改名后的web项目发布到tomcat,访问出现404错误的解决办法
  10. InnoDB Undo Log
  11. c++如何实现以任意数为底的对数(底数合法)log()
  12. 经纬财富:莆田炒现货白银技巧
  13. C#简单实现office转pdf、pdf转图片
  14. 前加加与后加加(自增)
  15. 中国移动车联网 V2X 平台白皮书
  16. 详细前端面试题javascript篇--持续更新
  17. statgraphics画Multifactor ANOVA图
  18. 五险一金有哪些「知识普及」
  19. JavaScript高效学习方法,看完透彻了...最适合web前端初学者的学习方法
  20. 考研数学 之 汤家凤老师来校讲座摘记 (拉格朗日定理等干货 )

热门文章

  1. 方舟同步服务器信息,方舟服务器备份和数据库备份
  2. 方舟生存进化服务器存档位置,方舟生存进化怎么转移存档
  3. 敏捷软件开发 - 原则、模式与实践 —— 设计模式(十)PROXY模式和STAIRWAY TO HEAVEN模式
  4. [数论][高精度]Heaven Cow与God Bull
  5. scroll-view实现下拉刷新(避免onload进入页面初始refresher-triggered为true触发下拉问题)
  6. 酒精需要存放在防爆柜中吗?
  7. 自动化测试之:关键字驱动
  8. MFC+Opencv以图拼图
  9. 网页QQ客服聊天功能
  10. Arduino Nano开发板设备描述符无法识别等问题汇总