【MongoDB】开启认证权限
1.
mongodb.conf :
添加
auth=true
2.
use admin (3.0+ 使用 createUser ;<3.0版本 http://www.cnblogs.com/guizi/archive/2012/11/20/2779500.html)
db.createUser({ user: "root", pwd: "123456", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
- > db.createUser({ user: "root", pwd: "123456", roles: [ { role: "userAdminAny
- Database", db: "admin" } ] } )
- Successfully added user: {
- "user" : "root",
- "roles" : [
- {
- "role" : "userAdminAnyDatabase",
- "db" : "admin"
- }
- ]
- }
- not authorized on test to execute command-MongoDB的权限配置
- 直接报Command '$eval' failed: not authorized on这个错误,可以确认是权限的问题
- 解决方案:
- 在官网 http://docs.mongodb.org/manual/reference/command/eval/#dbcmd.eval 有一段描述:
- If authorization is enabled, you must have access to all actions on all resources in order to run eval. Providing such access is not recommended, but if your organization requires a user to run eval, create a role that grants anyAction on anyResource. Do not assign this role to any other user.
- 解决步骤:
- 1)不带--auth参数启动数据库,所以不需要帐号即可连上MongoDB。
- 2)新建一个角色,比如叫 sysadmin,需要先切换到admin库进行如下操作:
- [C#] 纯文本查看 复制代码
- > use admin
- switched to db admin
- > db.createRole({role:'sysadmin',roles:[],
- privileges:[
- {resource:{anyResource:true},actions:['anyAction']}
- ]})
- 3)然后,新建一个用户,使用这个角色,注意,这个角色的db是admin,操作如下:
- [C#] 纯文本查看 复制代码
- > use woplus
- switched to db woplus
- > db.createUser({
- user:'sa',
- pwd:'sufeinet.com',
- roles:[
- {role:'sysadmin',db:'admin'}
- ]})
- 好了现在重启启动数据库带上
- --auth
- 就可以正常执行了
3.登陆
- > db.auth("admin","admin")
- Error: 18 Authentication failed.
- 0
- > user admin
- 2015-07-28T16:44:43.034+0800 E QUERY SyntaxError: Unexpected identifier
- --这样操作成功了
- > use admin
- switched to db admin
- > db.auth("root","123456")
- 1
--登陆失败
> db.auth("root","111")
2015-07-28T16:52:51.352+0800 I NETWORK Socket recv() errno:10053 An established
connection was aborted by the software in your host machine. 127.0.0.1:27017
2015-07-28T16:52:51.367+0800 I NETWORK SocketException: remote: 127.0.0.1:27017
error: 9001 socket exception [RECV_ERROR] server [127.0.0.1:27017]
2015-07-28T16:52:51.367+0800 I NETWORK DBClientCursor::init call() failed
Error: error doing query: failed
0
2015-07-28T16:52:51.371+0800 I NETWORK trying reconnect to 127.0.0.1:27017 (127
.0.0.1) failed
2015-07-28T16:52:51.373+0800 I NETWORK reconnect 127.0.0.1:27017 (127.0.0.1) ok
不知道是不是这个原因,开启 auth后 MongoVUE不能连接。
MongoVUE 是个比较好用的MongoDB客户端,不过免费版在15天过后,不能使用gridfs,Server Monitoring等功能。
关于安全性操作还需要继续研究
【MongoDB】开启认证权限的更多相关文章
- MongoDB学习笔记—权限管理
1.MongoDB权限介绍 a 上篇文章中,我们在Linux下配置了MongoDB环境并且将其设置为服务随机器启动而启动,那么接下来这篇文章我们就来简单说一下MongoDB下对登录用户权限的管理. b ...
- MongoDB开启安全认证
MongoDB开启安全认证 注意 对MongoDB部署启用访问控制会强制执行身份验证,要求用户识别自己.当访问启用了访问控制的MongoDB部署时,用户只能执行由其角色确定的操作. 启用访问控制后,请 ...
- Mongodb开启远程连接并认证
环境: Mongodb版本:3.4.6 步骤: 1. mongo创建管理员: 在mongo shell下: use admin db.createUser( { user: "testus ...
- Mongodb安全认证
Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...
- ubuntu 中 mongodb 数据读写权限配置
首先,我们先对mongodb 数据库的权限做一点说明: 1 默认情况下,mongodb 没有管理员账号 2 只有在 admin 数据库中才能添加管理员账号并开启权限 3 用户只能在所在的数据库中登录, ...
- Mongodb安全认证及Java调用
Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...
- mongodb3.03开启认证
原文地址:http://21jhf.iteye.com/blog/2216103 下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如 ...
- Kafka认证权限配置(动态添加用户)
之前写过一篇Kafka ACL使用实战,里面演示了如何配置SASL PLAINTEXT + ACL来为Kafka集群提供认证/权限安全保障,但有一个问题经常被问到:这种方案下是否支持动态增加/移除认证 ...
- mongodb的认证(authentication)与授权(authorization)
一小白瞎整mongodb,认证部分被折磨的惨不忍睹,看厮可怜,特查了一下文档,浅显地总结一下mongodb认证(authentication)与授权(authorization)的联系. 创建的所有用 ...
随机推荐
- 【报错】"The constructor Notification(int, CharSequence, long) is deprecated
Notification的构造方法 Notification(int, CharSequence, long) 在API11之后就淘汰了,之后的API需要用Notification.Builder() ...
- 给jdk写注释系列之jdk1.6容器(6)-HashSet源码解析&Map迭代器
今天的主角是HashSet,Set是什么东东,当然也是一种java容器了. 现在再看到Hash心底里有没有会心一笑呢,这里不再赘述hash的概念原理等一大堆东西了(不懂得需要先回去看下Has ...
- hdu 4632 动态规划
思路:dp[i][j]表示区间(i,j)中回文串的个数,那么dp[i][j]=dp[i+1][j]+dp[i][j-1]-dp[i+1][j-1]:如果str[i]==str[j],那么dp[i][j ...
- Windows 8.1 归档 —— Step 2 对新系统的少量优化
下面是来自 iplaysoft 的优化技巧:
- 知道网站PV流量,如何选何云主机配置带宽大小
- Acrobat 2015 win32破解版
Acrobat 2015 win32破解版,带破解补丁dll覆盖即可 百度云盘:http://pan.baidu.com/s/1i4tFnNJ
- Redis 命令 - Pub/Sub
PSUBSCRIBE pattern [pattern ...] Listen for messages published to channels matching the given patter ...
- ViewPager的基本使用--可左右循环切换也可自动切换
ViewPager也算是Android自带的常用控件之一,但是有可能会无法直接调用,所以只需要将工程目录里/libs/android-support-v4.jar该jarAdd to Build Pa ...
- python学习day4--python基础--字典
字典的常用操作: #字典天然去重,key唯一,如果key相同,只能打印出一个 id_db={ 220456789852963741:{ 'name':"alex", 'age':3 ...
- Android之屏幕测试
MainActivity: package com.example.touchscreentest; import android.os.Bundle; import android.R.layout ...