码迷,mamicode.com
首页 > 数据库 > 详细

mongodb的权限操作

时间:2015-09-17 13:34:30      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:

一、开启权限认证

1.windows下的mongodb开启权限认证

C:\Users\Administrator>sc delete MongoDB //原来创建的服务如果没有开启 则删除
[SC] DeleteService 成功
C:\Users\Administrator>mongod --dbpath "E:\MongoDB\data\db" --logpath "E:\MongoDB\data\log\MongoDB.log" -auth --install --serviceName "MongoDB" //-auth 参数 开启权限认证

关闭权限认证就是去掉auth参数重新启动mongodb即可

2.Linux下的mongodb开启权限认证

启动配置中加入 auth=true 即可

二、创建用户

创建语法:createUser(2.6之前版本为addUser)

createUser 的参数 {user:"用户名",pwd:"密码",customData:"对当前用户的描述",roles:[{role:"角色",db:"对应角色的数据库"}]}

mongodb内建了几个数据库角色类型:

1.read 可执行方法:find

2.readWrite 可执行方法:find,update,remove,insert

3.dbAdmin 管理数据库

4.dbOwner 1,2,3个权限的集合

5.userAdmin 该角色的用户可以管理其它角色的用户

db.createUser({user:"test",pwd:123456,roles:[{role:"read",db:"test"}]}) //创建一个在test数据库上只读的test用户
Successfully added user: {
    "user" : "test",
    "roles" : [
        {
            "role" : "read",
            "db" : "test"
        }
    ]
}
[c:\~]$ mongo -u test -p 123456 //exit 退出后用刚才创建的帐号登录 
MongoDB shell version: 2.6.5
connecting to: test //默认连接到test
show dbs //显示数据库被拒绝
2015-09-17T12:03:20.445+0800 listDatabases failed:{
    "ok" : 0,
    "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
    "code" : 13
} at src/mongo/shell/mongo.js:47
show tables //显示test数据库上的表被允许
local
localtest
system.indexes
system.profile
user3_collection

 三、创建角色

创建格式:

db.createRole({
    role:"角色名字",
    privileges:[
        {resource:{db:"数据库名字",collection:"集合名 不填则是任意集合"},actions:["权限名称"]}
    ],
    roles:[]
})

> db.createRole({
    role:"profile_find",
    privileges:[
    {resource:{db:"test",collection:"system.profile"},actions:["find"]}
    ],
    roles:[]
    })
{
        "role" : "profile_find",
        "privileges" : [
                {
                        "resource" : {
                                "db" : "test",
                                "collection" : "system.profile"
                        },
                        "actions" : [
                                "find"
                        ]
                }
        ],
        "roles" : [ ]
}

 

mongodb的权限操作

标签:

原文地址:http://www.cnblogs.com/buexplain/p/4816028.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!