注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

snoopyxdy的博客

https://github.com/DoubleSpout

 
 
 

日志

 
 

mongodb 权限设置  

2014-08-29 21:46:21|  分类: node |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
用了这么久的mongodb,还是第一次为mongodb增加auth权限,之前都是在内网或者监听127.0.0.1本地ip的,下面记录给mongodb分配权限的简单流程。
1、启动mongod服务,执行mongo进入shell环境
2、执行 show dbs,会出现如下列表

> show dbs
admin     0.078GB
boker     0.078GB
eastcity  0.078GB
local     0.078GB
recmem    0.078GB
wxmenu    0.078GB


使用第3步是2.4版本的老办法,使用第4步是2.4版本后的新办法:
3、先给admin表增加用户和授权(2.4版本之前的办法)

use admin
db.addUser('root', '123456')
db.auth('root', '123456')
//增加用户"root",密码"123456",并且验证这个用户

然后对所有数据库循环执行 第3步 的命令

4、新方法授权可以使用role角色来细分用户的权限,我们一般用不到,都赋予全部权限,不设置角色:

use admin
db.createUser(
{
user: "root",
pwd: "123456",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" },
{ role: "dbOwner", db: "dbname" }
]
}
)

同样对多个数据库执行上述代码,进行添加数据库管理员

5、启动mongodb带auth认证,

mongod -f /var/mongod_config/mongodb.conf

配置文件 /var/mongod_config/mongodb.conf 如下:

dbpath=/var/mongodb_database
bind_ip = 0.0.0.0
port=27017
maxConns = 200
logpath=/var/mongodb_log/log
fork = true
auth = true

6、这样我们就可以通过shell或者连接字符串
连接字符串:

mongodb://root:123456@127.0.0.1:27017/recmem

mongo连接

$ mongo recmem -u root -p
MongoDB shell version: 2.6.4
Enter password: 
connecting to: recmem

如果想直连recmem的时候查看其他数据库,可以使用如下命令:

use admin
db.auth('root', '123456')


  评论这张
 
阅读(765)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016