mongodb的权限操作
一、开启权限认证
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" : [ ]
}
mongodb的权限操作的更多相关文章
- MongoDB用户权限操作语法及示例
1.创建用户 1.1.语法格式: 1.1.1.格式及例子 >db.createUser( { user: "<name>", pwd: "<cle ...
- 为mongodb加上权限
我们知道mysql在安装的时候需要我们设置一个数据库默认的用户名和密码,mongodb也不例外,不过mongodb是默认的没有设置访问限制的,不需要输入用户名和密码都可以访问的,但是这样会十分的不安全 ...
- 创建mongodb副本集操作实例
一:概念 相关概念及图片引用自这里 mongodb副本集: 副本集是一组服务器,其中一个是主服务器,用于处理客户请求:还有多个备份服务器,用于保存主服务器的数据副本.如果主服务器崩溃了,备份服务器自动 ...
- MongoDB数据库简单操作
之前学过的有mysql数据库,现在我们学习一种非关系型数据库 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数 ...
- MongoDB的简单操作
一.简介 二.MongoDB基础知识 三.安装 四.基本数据类型 五.增删改查操作 六.可视化工具 七.pymongo 一.简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoD ...
- MongoDB的常用操作总结
简介 MongoDB是一款强大.灵活.且易于扩展的通用型数据库 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. ...
- springboot 学习之路 14(整合mongodb的Api操作)
springboot整合mongodb: mongodb的安装和权限配置 请点击连接参考 mongodb集成 : 第一步:引如pom文件 第二步:配置文件配置mongodb路径: 第三步:关于mon ...
- MongoDB Java API操作很全的整理
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...
- MongoDB用户权限管理配置
MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的 ...
随机推荐
- C# 微信消息模板 发送
项目要用到微信提醒 ,加上调转到小程序页面,或者 指定url 用到 RestSharp.Senparc.Weixin 类库 一开始直接照着微信示例直接post进去 发现一直提示 47001 ,估计 ...
- Ubuntu下添加定时任务执行php文件
//添加自动下载定时任务1. vim /etc/crontab2. 添加 #每5分钟执行一次*/5 * * * * root /usr/bin/php /home/wwwroot/123.php3. ...
- vue 将时间戳转换成日期格式 (一)
(1)创建一个处理时间格式的js,内容如下: ../../utils/formatDate.js export function formatDate(date, fmt) { if (/(y+)/. ...
- nginx 请求限制和访问控制
请求限制 限制主要有两种类型: 连接频率限制: limit_conn_module 请求频率限制: limit_req_module HTTP协议的连接与请求 HTTP协议是基于TCP的,如果要完成一 ...
- 利用EasyUI 数据网格(DataGrid)的loader属性实现后端分页
该属性在easyui官方文档中并没有详细阐述,通过简单的资料查询和摸索,实现了easyUI数据网格的后端分页功能. 在官网文档中这样阐述loader属性: 定义如何从远程服务器加载数据.返回false ...
- 协议形式化安全分析 Scyther 并非所有协议可以照抄就搬
1.Scyther 形式化分析工具可以对协议进行形式化描述,验证协议的机密性和可认证性是否存在安全威胁.在攻击时支持会话轮数无限次执行,同时支持在强安全模型和Delov-Yao模型.在对要形式化分析的 ...
- rabbitmq二进制安装
一.erland的安装 1.首先测试一下是否已经安装了erlang,命令 rpm -qa | grep erlang 2.没有安装则用yum安装 yum install erlang -y 二.下载r ...
- Windows下无法新建文件夹
原文链接:https://www.jianshu.com/p/ee3205d5b9c9
- 模拟webpack 实现自己的打包工具
本框架模拟webpack打包工具 详细代码个步骤请看git地址:https://github.com/jiangzhenfei/easy-webpack 创建package.json { " ...
- 快捷键和功能键、进入DOS命令行的方法、DOS命令讲解、java跨平台原理、JRE和JDK的定义、书写格式
快捷键和功能键A:键盘功能键* a:Tab* b:Shift* c:Ctrl* d:Alt* e:空格 * f:Enter* g:Window* h:上下左右键* i:PrtSc(PrintScree ...