开启MongoDB客户端访问控制
参考官方文档:https://docs.mongodb.org/v2.6/tutorial/enable-authentication/
基于版本:MongoDB 2.6
概览
在MongoDB数据实例上开启了访问控制,约束了用户必须在连接MongoDB的时候认证一下。在这个步骤中,你开启访问控制,然后创建的第一个用户必须是一个administrator的用户。这个administrator用户用来创建其他的用户。
注意事项
如果你在开启访问控制之前,创建了一个administrator用户,那么就关闭了localhost exception,在这种情况下,你必须使用'Enable Authentication after Creating the User Administrator'的步骤来开启访问控制。
这里主要是说明'Enable Authentication after Creating the User Administrator的方式开启访问控制(即先创建第一个用户然后开启认证):
步骤:
1.使用无认证的方式启动MongoDB
比如:mongod --port 27017 --dbpath c:\data\db1
2.创建administrator用户
这个用户有且仅有userAdminAnyDatabase这个角色的权限。
比如:创建一个用户名为siteUserAdmin的用户在admin数据库中,(必须是在admin数据库中创建)。
use admin
db.createUser(
{
user: "siteUserAdmin",
pwd: "password",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
对于角色、权限以及创建用户的命令,请参考:创建一个administrator用户,角色以及db.createUser()。
3.以认证的方式启动MongoDB数据库
mongod --auth --port 27017 --dbpath /data/db1
4.创建其他的用户
文档参考:https://docs.mongodb.org/v2.6/tutorial/add-user-to-database/
1.用有合适权限的用户连接MongoDB实例
比如:使用刚才创建的administrator用户siteUserAdmin,
mongo --port 27017 -u siteUserAdmin -p password --authenticationDatabase admin
2.创建一个新用户
创建用户语法可以参考:db.createUser()。
下面的例子是在reporting数据库中创建一个用户。
use reporting
db.createUser(
{
user: "reportsUser",
pwd: "12345678",
roles: [
{ role: "read", db: "reporting" },
{ role: "readWrite", db: "reporting" }
]
}
)
其中,use reporting命令,如果没有reporting数据库,则创建这个reporting数据库。
如果要认证这个reportUser用户,就必须在reporting数据库中认证。
开启MongoDB客户端访问控制的更多相关文章
- linux下MongoDB客户端shell基本操作
MongoDB 是一款NoSql数据库,没有固定的模式,即同一个集合中的不同文档结构可以不同,如:第一条记录{name:”xiaoming”},第二条记录:{name:”xiaoli”,age:15} ...
- [翻译]Telnet简单介绍及在windows 7中开启Telnet客户端
文章翻译自 http://social.technet.microsoft.com/wiki/contents/articles/910.windows-7-enabling-telnet-clien ...
- CentOS6.3安装MongoDB2.2 及 安装PHP的MongoDB客户端
下载源码:(放到 /usr/local/src 目录下) 到官网 http://www.mongodb.org/downloads 下载源码 https://fastdl.mongodb.org/li ...
- MongoDB 客户端 MongoVue
直接上图片,图片是按顺序来的 软件下载地址(Windows下的MongoDB客户端MongoVUE 这是最后一个全功能的不收费的版本): http://pan.baidu.com/s/1skYIEq5
- yum安装配置mongoDB客户端和服务器端
1,Centos6.X yum安装mongoDB客户端和服务器端; yum -y install mongodb mongodb-server; 基于epel repo.当前的mongoDB的版本为2 ...
- 在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,
在apache2.4版本之前做客户端访问控制,是用Allow Deny Order指令做访问控制的,而在2.4的版本上是用的用法跟之前的版本大不相同,如下 ###################### ...
- 最佳的MongoDB客户端管理工具
<最佳的MongoDB客户端管理工具> 作者:chszs,未经博主允许不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一个好的MongoD ...
- mongodb客户端操作常用命令(续)
之前有写过一篇mongodb客户端的操作常用命令 ,今天接着来记录分享一些关于mongodb账户权限设置的命令操作 上期mongodb客户端的操作常用命令地址:https://www.cnblogs. ...
- MongoDB 带访问控制的副本集部署
当你需要用到一个MongoDB 副本集集群,用于开发测试时, 可以通过下面的步骤简单完成. 版本及环境 MongoDB4.4 Centos6.5 一. 下载安装 MongoDB Server 及 ...
随机推荐
- node.js 模板 ejs 转
node.js 模板引ejs. 搜了一把推荐用ejs的最多. 速度比对:http://www.cnblogs.com/fengmk2/archive/2011/04/28/2031971.html e ...
- 使用 ipdb 调试 Python
1.安装 pip install ipdb 2.使用 python -m ipdb xxx.py 程序内部: from ipdb import set_trace set_trace() 3.常用命令 ...
- jquery data属性的使用
var func=function(){console.log("test")};$("div").data("test",func);$( ...
- OpenStack及其构成简介
新的一年新的开始,突然想学习下Openstack,之前了解过很多,但是想系统的学习一下,第一次写博客,只想把学到的东西记录下来加深印象,如有写的不好的地方请多多见谅.下面开门见山. 1.What is ...
- js获取url中的参数方法
直接调用函数即可,函数如下: function getURLParam(name) { return decodeURIComponent((new RegExp('[?|&]' + name ...
- [SinGuLaRiTy] 高精度算法代码库
[SinGuLaRiTy-1001] Copyrights (c) SinGuLaRiTy 2017. All Rights Reserved. 加法: #include<stdio.h> ...
- JDBC基础学习(一)—JDBC的增删改查
一.数据的持久化 持久化(persistence): 把数据保存到可掉电式存储设备中以供之后使用.大多数情况下,数据持久化意味着将内存中的数据保存到硬盘上加以固化,而持久化的实现过程大多通过各 ...
- git常见操作指令
由于公司用的是git进行版本管理,所以零零散散的学了一些常用到的git指令: 近日把廖雪峰前辈的git教程看了一遍,感觉操作起来更得心应手,在此做个记录,如有错漏望指正: git init //初始化 ...
- Bug 笔记
1.页面返回 400 Bag request: 原因:使用Spring MVC controller的时候,查询数据库:当数据库的数据类型是int型时,Spring MVC在查询的数据匹配给实体类 ...
- 第一个SignalR案例
说明:开发的案例为Hub(集线器) 一.开发环境 VS2013 ,window10 二.步骤 打开vs创建一个新的解决方案,添加一个空的WebForm项目. 使用NuGet添加引用.命令:PM> ...