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参数。

启用后,数据库中还没有任何的用户,此时非本机客户端访问会提示错误

在数据库还没有任何用户的情况下,只能通过本机登录进行维护

通过以下命令先给数据库增加个管理员。2.4及之前的版本是用的addUser命令,2.6之后用createUser。

use admin

db.createUser( { "user" : "admin",

"pwd": "admin",

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

{ role: "dbAdminAnyDatabase", db: "admin" }

]

})

建议先切换到admin库,不然创建的admin用户会在别的库下面。

创建了第一个用户之后,本机也必须先登录才能使用数据库了。用另外一个shell登录,会报错。

原来已经连接的客户端也不能进行操作了。

此时需要先登录,用db.auth(user, password) 命令,返回1表示认证通过。

db.system.users.find()或show users可以查询到我们刚新增的admin用户。

如果创建admin用户时是在别的库,例如test,这时查到的用户应该是这样的

差异在_id和db这两个字段。使用时的不同,表现在用户登录时验证的数据库。此时在admin库下登录是不允许的,必须先切换到test库。

登录后就可以管理任何的数据库和用户了。

未完待续…

?

?

?

时间: 2024-10-12 00:33:36

mongodb 2.6.6 权限管理的相关文章

MongoDB的账户与权限管理及在Python与Java中的登录

本文主要介绍了MongoDB的账户新建,权限管理(简单的),以及在Python,Java和默认客户端中的登陆. 默认的MongoDB是没有账户权限管理的,也就是说,不需要密码即可登陆,即可拥有读写的权限(当然,重启服务还是需要在本机执行).这个对于自己做实验室足够使用的,但是对于开放数据给他人使用时很不安全的,倒不是怕窃取数据,主要是怕某些猪队友一下把db给drop了,如果没有容灾备份哭都来不及.对于MongoDB的权限配置,我看着官方文档和别人的笔记也算是踩过坑的人了,把踩过的坑写出来给大家看

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:

Mongodb七天总结—权限管理(2)

Mongodb权限管理 版本:Mongodb3.0 说到对数据库我安全问题我们一般就会从以下几点考虑怎么去解决数据库安全的问题. 1.最安全的是物理隔离: 2.网络隔离: 3.防火墙隔离: 4.用户名和密码: 下面我们来说说mongodb的用户名和密码认证: 认证是确定client身份的机制,默认情况下mongodb并没有开启权限认证,我们部署好MGDB之后需要进行,一般常用mongodb权限认证的方式有: 1.auth开启(在启动的时候知道--auth=true) 2.Keyfile开启 怎么

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

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

mongodb 3.2 用户权限管理配置

环境 MongoDB shell version: 3.2.6 Win 7 设置方法 用户权限设置 1.进入mongodb的shell : mongo 2.切换数据库: use admin 从3.0 版本起,默认只有 local 库,没有admin 库,需要我们自己来创建. 3.添加用户,指定用户的角色和数据库: db.createUser( { user: "admin", customData:{description:"superuser"}, pwd: &q

Mongodb增加权限管理

 前言: 随着列式存储理念的成熟,越来越多的开发者开始接纳mongodb,hbase这类大储存的分布式列式数据库.特别是mongodb的这种快速搭建,快速使用特点,使其得到更多人的青睐.本人主要通过官网说明针对mongodb权限配置做一个测试与实践. step1:无验证启动mongod服务 mongod --port 27017 --dbpath /data/db1 step2:客户端mongo无密码连接并设置超级用户(用于admin登录) mongo --port 27017 use admi

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之用户/认证/角色/权限管理

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