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数据库.集合.文档的 ...
随机推荐
- jenkins pipeline中获取shell命令的标准输出或者状态
//获取标准输出//第一种 result = sh returnStdout: true ,script: "<shell command>" result = res ...
- MD 使用 i5ting_toc 转换成 HTML
MD 使用 i5ting_toc 转换成 HTML 本文作者:天析 作者邮箱:2200475850@qq.com 发布时间: Wed, 10 Jul 2019 13:59:00 +0800 前言 md ...
- ChibiOS/RT移植到STM32F407
官网地址:http://www.chibios.org/dokuwiki/doku.php 下载源码 找到STM32F407的demos程序(chibios\demos\STM32\RT-STM32F ...
- Java软件编码习惯
1.再删除某个类时候,一定别忘记把对应的import也删除掉: 可以手动删除,也可以 Ctrl+Shift+O快捷键自动删除和导入.
- Feign报错'xx.FeignClientSpecification', defined in null, could not be registered.
解决: 在application.yml中配置: spring: main: allow-bean-definition-overriding: true 参考:https://blog.csdn.n ...
- 【robotframework】robotframework环境搭建
一.基于python3.6环境 在dos命令输入 pip install robotframework 在线安装robotframework在dos命令输入 pip install Pypubsub= ...
- 系统API是原子操作吗?
系统API里面也会有简单的指令,类似于a++这种,我们认为的简单指令对应到汇编可能很多条.执行在其中某一条汇编的时候可能就切换进程了.切换进程可能发生在用户态(虚拟内存的用户空间),也可能发生在内核态 ...
- Linux 本机/异机文件对比
一:提取异步机器文件 #ssh 192.168.1.2 "cat /etc/glance/glance-api.conf | grep -v '#' |grep -v ^$" 二: ...
- synchronized关键字所生成的字节码详细分析
在之前已经将如下这样的源文件对应的字节码文件完整的分析完了,如下: 这次再来写一个内容稍丰富一点的类,准备再来从头至尾的来分析一下,对其字节码的理解进一步巩固,如下: 然后用javap -verbos ...
- H3C常见视图及命令
H3C常见视图及命令 H3C Comware的视图模式 1.用户视图:查看系统的硬件和系统的信息 2.系统视图(类似于Cisco的配置模式) 3.路由协议视图 4.接口视图 5.用户界面视图 各种视图 ...