Mongodb增加权限管理

 前言:

  随着列式存储理念的成熟,越来越多的开发者开始接纳mongodb,hbase这类大储存的分布式列式数据库。特别是mongodb的这种快速搭建,快速使用特点,使其得到更多人的青睐。本人主要通过官网说明针对mongodb权限配置做一个测试与实践。

step1:无验证启动mongod服务

mongod --port 27017 --dbpath /data/db1

step2:客户端mongo无密码连接并设置超级用户(用于admin登录)

mongo --port 27017

use admindb.createUser(

{

user: "myUserAdmin",

pwd: "abc123",

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

})

step3:有验证启动mongod服务

mongod --auth --port 27017 --dbpath /data/db1

step4:管理员mongo登录后新增用户,分配权限

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

use testdb.createUser(

{

user: "myTester",

pwd: "xyz123",

roles: [ { role: "readWrite", db: "test" },

{ role: "read", db: "reporting" } ]

})

step5:授权用户登录并操作表

mongo --port 27017 -u "myTester" -p "xyz123" --authenticationDatabase "test"

db.foo.insert( { x: 1, y: 1 } )

注:无权限访问时,将报如下错误

参考:

https://docs.mongodb.com/v3.2/tutorial/enable-authentication/

后语:

以上仅供对mongodb进行简单管理,不至于被外界直接用端口进行连接。但更系统的权限管理还请参考官网说明

https://docs.mongodb.com/v3.2/tutorial/manage-users-and-roles/

时间: 2024-10-20 05:43:28

Mongodb增加权限管理的相关文章

Mongodb用户权限管理配置

一.Mongodb命令 主要命令 show dbs #显示数据库列表 show collections #显示当前数据库中的集合(类似关系数据库中的表) show users #显示用户 use <db name> #切换当前数据库,如果数据库不存在则创建数据库. db.help() #显示数据库操作命令,里面有很多的命令 db.foo.help() #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 db.foo.find() #对于当前

mongodb用户权限管理

1.添加一个管理账号 mongo --host 127.0.0.1 --port  27000 use admin db.addUser('admin','123456') 2.通过账号登陆 mongo --host 127.0.0.1 --port  27000 -u admin -p 123456 admin 或者 mongo --host 127.0.0.1 --port  27000  use admin db.auth('admin','123456')  ##返回为1表示认证ok,返

ASP.NET Identity “角色-权限”管理 1

本文是基于ASP.NET Identity v2的实施的“角色-权限”实验小结,不对基础知识进行介绍,读者需理解面向对象.接口编程.AOP.MVC,掌握ASP.NET MVC.JavaScript和EF. 环境:VS2013 update4,EF6,ASP.NET MVC 5,bootstrap,Automapper,MvcPager等. 1.       前言 VS2013 ASP.NET MVC模板只提供基础的Role-User权限管理,如:账号管理Account,登录注册等,为提高实用性,

mongodb 2.6.6 权限管理

mongodb2.6的权限管理与2.4有很大不同,网上能看到的文章基本都是基于2.4以下的,很多并不适用.经过一番摸索终于理顺了2.6的权限管理,做下笔记. 我所用的版本是Linux 64-bit,下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.6.tgz mongodb默认不启用权限管理,访问不需要验证.要开启权限管理功能,启动时增加--auth参数. 启用后,数据库中还没有任何的用户,此时非本机客户端访问会提示错误

mongodb之用户/认证/角色/权限管理

前言 用户权限管理很重要,只给需要的权限,防止应用系统漏洞导致脱库 认证和授权 Authentication 认证识别,解决我是谁 Authorization 操作授权,我能做什么 认证机制 MONGODB-CR 官方自定义实现认证机制,通过用户名和密码,通过challenge-response方式,来识别和验证授权.SCRAM-SHA-1认证机制有更好的安全性,新版本默认使用SCRAM-SHA-1.不建议使用MONGODB-CR模式. SCRAM-SHA-1 3.0版本新加功能,Mongodb

MongoDB系列---用户及权限管理02

MongoDB-——Privilege 学习大纲: 1.用户权限管理 2.用户操作 知识回顾:  本系列上一篇博文我们讲述了如何搭建环境以及配置我们的MongoDB,通过搭建环境后我们又学习了如何通过简单的命令和配置来启动关闭我们的MongoDB. 一 用户及权限管理 前言: MongoDB 作为时下最为热门的数据库,那么其安全验证也是必不可少的,否则一个没有验证的数据库暴露出去,任何人可随意操作,这将是非常危险的.我们可以通过使用为MongoDB 创建用户的方式来降低风险 1 MongoDB用

MongoDB权限管理

前几天网友问MongoDB数据库权限方面的问题.当时大致的了解了一下,这周仔细了解了一下.对于一个数据库不可能随意的访问,肯定要有写访问限制. 在了解这个之前首先熟悉下shell客户端.前面的博客也有些打开shell客户端的方法:mongo.关闭数据库引擎的话可以使用db.shutdownServer(). 一.shell命令 MongoDB的shell提供了一些命令,可以从shell提示符执行它们. help<option>:用于为MongoDB的shell命令显示语法帮助.option参数

MongoDB学习笔记—权限管理

1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b  MongoDB安装完成后,默认是不需要输入用户名密码即可登录的,但是往往数据库方面我们会处于安全性的考虑而设置用户名密码,本篇文章主要介绍了MongoDB添加管理员/普通用户的方法. c 在我们使用的关系型数据库中,一般都是含有权限控制的,也就是说配置什么用户访问什么数据库,什么数据表,什么用户

MongoDB 学习笔记之 权限管理基础

权限管理基础 MongoDB有很多用户roles,这里只是简单列举下命令的使用,具体的role的含义,请查阅官方文档. https://docs.mongodb.com/manual/reference/built-in-roles/#userAdmin 在启用权限验证之前,需要重启服务,开启auth: 命令使用示例: use admin; #创建用户,这里Mongo 3和Mongo 2用的方法不同了. db.createUser({user: 'sky', pwd: 'CSL', roles: