MongoDB用户、角色和权限管理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MongoDB用户、角色和权限管理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3001字,纯文字阅读大概需要5分钟。
内容图文
![MongoDB用户、角色和权限管理](/upload/InfoBanner/zyjiaocheng/498/ef46e18c2ace48fd8b362f8c9f6daf49.jpg)
1、用户概念
Mongodb的用户是由 用户名+所属库名组成
例如:
登录mongo testdb1 ,创建用户testuser
登录mongo testdb2 ,创建用户testuser那上面创建的用户分别是:testuser@testdb1,testuser@testdb2<br/" rel="nofollow">br/>那上面创建的用户分别是:testuser@testdb1,testuser@testdb2<br/也就是说在哪个库下面创建用户,这个用户就是哪个库的
2、角色概念
Mongodb的授权采用了角色授权的方法,每个角色包括一组权限。
Mongodb已经定义好了的角色叫内建角色,我们也可以自定义角色。
这儿主要介绍内建角色,Mongodb内建角色包括下面几类:
读写权限: read/readWrite 读写库的权限
数据库管理角色: dbAdmin 某数据库管理权限
userAdmin 某数据库用户的管理权限,包括创建用户,授权的管理
dbOwner 某数据库的所有者,拥有该库的所有权限,包括readWrite,dbAdmin和userAdmin权限
集群权限 :
备份和恢复角色: bakcup restore
所有数据库角色: readAnyDatabase
readWriteAnyDatabase
dbAdminAnyDatabase
userAdminAnyDatabase
超级用户角色: root
内部角色 : __system 不建议使用
二、搭建认证环境和认证登录
1、找到mongodb配置文件,设置noauth=true
重启Mongodb后,登录admin账号,创建一个超级权限用户
use admin
db.createUser({user:‘root‘,pwd:‘root‘,roles:[{ "role" : "root", "db" : "admin" }]});
2、关闭mongodb
3、启用认证参数
生成加密文件,并将加密文件拷贝到各节点
mkdir /usr/local/mongodb/keyfile
openssl rand -base64 100 > /usr/local/mongodb/keyfile/key
chmod -R 600 /usr/local/mongodb/keyfile/key
修改各节点配置配置文件
auth = true
keyFile = /usr/local/mongodb/keyfile/key
4、启动Mongodb
5、认证登录
use admin
switched to db admin
db.auth(‘root‘,‘root‘)
1
use hong
switched to db hong
show collections;
liujing
system.users
db.liujing.find();
{ "_id" : ObjectId("56f255b77fa46acddeb4507b"), "name" : "liujing" }
三、用户授权详解
1、创建用户并授权
语法:db.createUser({user:"UserName",pwd:"Password",roles:[{role:"RoleName",db:"Target_DBName"}]})
首先选择在哪个库创建用户,如test:use test;
创建用户有3项需要提供:用户名,密码,角色列表
例如我要在test下面创建用testuser,密码为testpwd,角色列表包括test库的readWrite角色和userAdmin角色:
db.createUser({user:"testuser",pwd:"testpwd",roles:[{role:"readWrite",db:"test"},{role:"userAdmin",db:"test"}]})
2、修改密码
首先进入目标库:use test
db.changeUserPassword(‘testuser‘,‘testPWD‘);
3、添加角色
首先进入目标库:use test
db.grantRolesToUser( "testuser", [ { role: "read",db:"admin"} ] )
4、回收角色权限
首先进入目标库:use test
db.revokeRolesFromUser("testuser",[ { role: "read",db:"admin"} ] )
5、删除用户
首先进入目标库:use test
db.dropUser("testuser")
四、注意事项
1、MongodbVOE版本太低,可能导致远程连接mongodb认证失败,建议升级版本或者更换其它GUI工具
2、远程连接Mongodb一定要把mongodb服务器的防火墙打开,否则连接不上
参考博文:
http://blog.csdn.net/dbabruce/article/details/50963956
http://blog.51cto.com/wjlking/1792629
MongoDB用户、角色和权限管理
标签:置配 服务 targe 就是 参考 root 目标 列表 use
本文系统来源:http://blog.51cto.com/linux10000/2061498
内容总结
以上是互联网集市为您收集整理的MongoDB用户、角色和权限管理全部内容,希望文章能够帮你解决MongoDB用户、角色和权限管理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。