一、开启权限认证

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:,roles:[{role:"read",db:"test"}]}) //创建一个在test数据库上只读的test用户
Successfully added user: {
"user" : "test",
"roles" : [
{
"role" : "read",
"db" : "test"
}
]
}
[c:\~]$ mongo -u test -p //exit 退出后用刚才创建的帐号登录
MongoDB shell version: 2.6.
connecting to: test //默认连接到test
show dbs //显示数据库被拒绝
--17T12::20.445+ listDatabases failed:{
"ok" : ,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" :
} at src/mongo/shell/mongo.js:
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" : [ ]
}

最新文章

  1. powershell例子
  2. USACO翻译:USACO 2012 JAN三题(1)
  3. linux下压缩,解压缩的方法
  4. Expression2Sql的一些语法更新
  5. Oracle参数篇
  6. linux cpu占有率居高不下 调试
  7. 笔记本设置wifi热点
  8. U3D包大小优化之microlib
  9. Android Logcat 封装类
  10. 机器学习中的矩阵方法03:QR 分解
  11. android XML解析器全解案例
  12. phpcms V9首页 频道页 列表页 推荐位 简单获取文章浏览量和评论统计
  13. 蓝桥杯之JAM的计数法
  14. 数据结构C语言版 表插入排序 静态表
  15. KNN算法--物以类聚,人以群分
  16. 徒手用Java来写个Web服务器和框架吧<第三章:Service的实现和注册>
  17. 小发现之location.search与location.hash问题
  18. Redux应用单一的store原则案例详解
  19. gitlab+jenkins自动发布Python包到私有仓储
  20. 论decltype和auto的区别

热门文章

  1. sqlserver case when 的使用方法
  2. GOF学习笔记1:术语
  3. Eva 剧情解析
  4. 什么是HTTPS协议
  5. element-ui default-checked-keys 会把节点下所有子节点全部勾选解决方法
  6. cocos动画没有cc.Sprite.spriteFrame属性
  7. IDEA提示不区分大小写设置
  8. Oracle查看占用表空间最大的表(排序)
  9. Bash基础——printf
  10. tomcat部署(一)