您的位置:首页 > 数据库 > Mongodb

MongoDB用户权限设置

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

MongoDB中有两个默认的特殊数据库,admin和local,不过目测local没什么用,admin的用户是超级用户。MongoDB没有默认的管理
员账号,要首先添加管理员帐号再开启权限认证。在没有开启权限验证之前,可以随便访问操作数据库。

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

提醒:db.addUser()方法在version2.6的时候被替换成了db.createUser()和db.updateUser()。
前提:按照前一篇博客(unbuntu下mongodb的安装,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用户可以操作所有的数据库,而普通用户也能对应各自的数据库,希望对大家有点用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: