MongoDB用户权限设置

来源:互联网 发布:如何看待人工智能 编辑:程序博客网 时间:2024/05/28 18:44


笔者最近看了MongoDB的访问控制的书并查看一些资料,总结了用户权限设置的一些资料,特地分享给大家。


MongoDB中有两个默认的特殊数据库,adminlocal,不过目测local没什么用,admin的用户是超级用户。MongoDB没有默认的管理

员账号,要首先添加管理员帐号再开启权限认证。在没有开启权限验证之前,可以随便访问操作数据库。


下面介绍一下用户权限的设置过程。

提醒db.addUser()方法在version2.6的时候被替换成了db.createUser()db.updateUser()

前提:按照前一篇博客(unbuntumongodb的安装,http://blog.csdn.net/u010858605/article/details/50957610)配置好mongodb

mongodb版本为3.2.


首先介绍admin用户的设置:

1.在未设置--auth参数的情况下,创建一个admin用户,用户名和密码均为gleradmin,权限为root


添加了admin用户后,show collections会看到admin数据库下的集合信息。


2.mongodb服务,在启动服务命令中加入—auth参数,启动服务。这时,我们再进入admin数据库查看它的集合信息就会报错,很显然,是权限不够。


3.输入命令:use admin(目的是保证在admin数据库下操作)db.auth('gleradmin','gleradmin')   返回值是1,表明登录成功,0则失败。



接下来介绍普通用户的创建

4.创建一个名为testcol的数据库,并新建一个集合。



5.输入命令:show collections查看testcol中的集合



6.testcol数据库中增加普通用户gler123,权限为readWrite。


7.输入命令:use admin和db.system.users.find()    可以看到存在两个用户,一个是admin数据库的超级用户,一个是刚刚创建的testcol

据库的普通用户。


8.Ctrl+C或者输入命令exit退出,重新进入mongo


9.输入命令:use testcol 和show collections ,发现没有权限。



10.使用刚才创建的普通用户登录testcol数据库,再查看集合信息,成功了。


好了,用户权限设置就介绍到这里。总的来说,admin用户可以操作所有的数据库,而普通用户也能对应各自的数据库,希望对大家有点用。









2 0
原创粉丝点击