作者:容易 2013-07-31 17:24:57


十一、mongodb授权与认证
默认mongodb是没有授权认证机制的,只要网络能够联通就可以登录mongodb做任何操作。
目前mongodb只支持最基本的认证方式,开启认证的选项    auth=true   重启数据库,mongodb默认有个一个admin数据库,初始后为空,只有添加了第一个用户后mongodb的认证才真正生效。并且在admin库里面添加的用户都为超级用户,对所有数据库都有操作权限,以及一些其他管理权限例如关闭mongodb实例。开启认证后所有的mongodb数据库都必须添加用户才能够被访问读写操作。

a)添加超级用户,在admin库中创建用户 
[root@centos6 ~]# mongo 192.168.4.161
MongoDB shell version: 2.4.5
connecting to: 192.168.4.161/test
> show dbs;
admin   (empty)
local   0.09375GB
test    0.21875GB
> show dbs;
admin   (empty)
local   0.09375GB
test    0.21875GB
> use admin
switched to db admin
> db.addUser("root","tiger");
{
        "user" : "root",
        "readOnly" : false,
        "pwd" : "e8ddf772c60e7319e926d3b24eb280a7",
        "_id" : ObjectId("51efd18dde8af4797e561c66")
}
> show dbs;
admin   0.21875GB
local   0.09375GB
test    0.21875GB
b)添加可读写的普通用户
> use test;
switched to db test
> db.addUser("tuser","rw");
{
        "user" : "tuser",
        "readOnly" : false,
        "pwd" : "9ef869e5eea3a6107b0069f66981bc21",
        "_id" : ObjectId("51efd1dede8af4797e561c67")
}
c)添加只读用户
> db.addUser('yj','ro','true');
{
        "user" : "yj",
        "readOnly" : "true",
        "pwd" : "57ed8948c0dbed74a4972196bd8631c5",
        "_id" : ObjectId("51efde96453f466370eddbb5")
}
d)查看数据库中的用户
> db.system.users.find();
{ "_id" : ObjectId("51efde96453f466370eddbb5"), "user" : "yj", "readOnly" : "true", "pwd" : "57ed8948c0dbed74a4972196bd8631c5" }
e)删除用户
> db.system.users.remove({'user':'yj'});
> db.system.users.find();   查看确认删除成功

 

One Response


    还没有评论!
1  

Leave your comment

请留下您的姓名(*)

请输入正确的邮箱地址(*)

请输入你的评论(*)


感谢开源 © 2016. All rights reserved.&3Q Open Source&^_^赣ICP备15012863号-1^_^
乐于分享共同进步 KreativeThemes