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

mongodb 用户和权限设置

2012-06-04 10:42 246 查看
2011-11-29 12:00

mongodb
用户和权限设置

五13
Year 2010c数据库
关于mongodb的配置及安装就不说了,网上这部分资料比较多,关于权限和用户设置的中文材料比较少,大概讲解一下
首先是官方关于安全和权限部分 英文
mongodb是基于文档的库,操作模型上划分的话可以分为下面几层
根 (访问,连接)

db (库)

collection

cursor (查询数据时的数据指针)
权限部分

因为mongo默认的启动是不验证用户名和密码的,启动mongod后,可以直接用mongo连接上来,对所有的库具有root权限

启动的时候指定参数,可以从阻止根层面上的访问和连接

#只允许某ip访问

$ mongod --bind_ip 127.0.0.1

1#指定服务端口
2$ mongod --port 27017
1#用户验证模式,可连接,默认登录到test,无任何权限 (db层)
2$ mongod --auth


1#用户登录后验证
2> use dbtest
3switched to db dbtest
4> db.auth('userx','psw');
51
#mongodb中设置用户名密码

$ mongo

#指定某个库

> use dbtest

#添加用户,密码,mongodb会自动为其加密,并且在表中生成system.users的collection,可以查询当前库用户

> db.addUser('userx','psw')

{ "user" : "userx", "pwd" : "2f09b653fdf3627a8fc6367f19b67c28" }

> db.system.users.find()

{ "_id" : ObjectId("4beb6a09ee63be17c992d8e0"), "user" : "userx", "pwd" : "2f09b653fdf3627a8fc6367f19b67c28" }

配置一个读写权限的用户

> use 51cv

> db.addUser("51cvrw","51cv")

..."readOnly" : false...

配置一个只读权限的用户

> use 51cv

> db.addUser("51cvr","51cv",true)

> db.system.users.find()

..."readOnly" : true...

#删除用户

> db.system.users.remove({'user':'userx'});

用户登录数据库测试

for:mongod dbname -u uname -p password

mongo admin -u zjx -p tsjianxin

#关于库权限,如果用户需要全局的权限,可以在admin和local的两个库里添加,但是需要重启库

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: