mongodb2.6以后版本管理用户
来源:互联网 发布:java职业生涯规划 编辑:程序博客网 时间:2024/06/10 16:06
原文: 点击打开链接
添加用户:
./mongo
>use admin
>db.createUser({user:’admin’,pwd:’admin123′,roles:['userAdminAnyDatabase','dbAdminAnyDatabase']})
//创建一个能管理所有数据库的账户root/root
在哪个数据库下,添加的用户就是在哪个数据库下。
可以参考本文档下方的内置角色名称,在线上环境,不同场景的操作最好使用相应的角色,以免权限滥用。
修改用户权限。
>db.grantRolesToUser(“username”,[ "readWrite" , { role: "read", db: "stock" } ])
mongod启动的时候加上 –auth 就可以添加用户验证功能。或者在启动配置文件里加上 auth=true 配置。
>./mongod –auth –dbpath XXX –logpath XXX –fork
>./mongod -f /xx/mongo.cnf
有意思的是,创建用户后,登录时,必须指定数据库名、用户名、密码才能登录。
>./mongo admin -u admin -p admin123
而且,如果创建的用户对其他数据库比如 abcdb 拥有读取或者其他权限,但是该用户是在admin数据库下建立的,依然不能登录,会报权限不够。
PS:登录时,指定的数据库名 和 使用的用户 必须是同一个数据库下才行。//不明白为什么这个搞,没有深究,都有相应的权限了,还不能登录,觉得这样设计真坑……
下方是官方2.6版本db的user操作文档:addUser() 操作已经被置为 弃用,但依然可以使用,会提示。使用新的操作API:createUser()。
db.addUser()
Deprecated. Adds a user to a database, and allows administrators to configure the user’s privileges.db.changeUserPassword()
Changes an existing user’s password.db.createUser()
Creates a new user.db.dropAllUsers()
Deletes all users associated with a database.db.dropUser()
Removes a single user.db.getUser()
Returns information about the specified user.db.getUsers()
Returns information about all users associated with a database.db.grantRolesToUser()
Grants a role and its privileges to a user.db.removeUser()
Deprecated. Removes a user from a database.db.revokeRolesFromUser()
Removes a role from a user.db.updateUser()
Updates user data.官网文档地址:
常用权限:http://docs.mongodb.org/master/reference/built-in-roles/#database-administration-roles
role 管理:http://docs.mongodb.org/master/reference/method/js-role-management/
用户管理:http://docs.mongodb.org/master/reference/method/js-user-management/
下方列出系统内置角色名称:
Database User Roles 普通用户角色
read
readWrite
Database Administration Roles 管理员角色
dbAdmin 可以管理数据库
dbOwner 单数据库最大权限,dbAdmin,userAdmin
userAdmin 可管理当前数据库用户
Cluster Administration Roles 管理员角色
clusterAdmin
clusterManager
clusterMonitor
hostManager
Backup and Restoration Roles 备份和恢复角色
backup
restore
All-Database Roles 所有数据库角色
readAnyDatabase 在admin下建立,可以读取所有数据库的信息
readWriteAnyDatabase 在admin下建立,可以读写所有数据库的信息
userAdminAnyDatabase 在admin下建立,可以管理所有数据库的用户
dbAdminAnyDatabase 在admin下建立,可以管理所有数据库的信息(类似于所有数据库的dbAdmin账户)
Superuser Roles
root
0 0
- mongodb2.6以后版本管理用户
- MongoDB2.6 新特性
- Mongodb2.6配置文件
- tokuMX > mongodb2.6
- mongoDB2.6,java使用详解
- mongoDB2.6,java使用详解
- mongoDB2.6,java使用详解
- centos 6.5 安装mongodb2.6
- mongodb2.6数据导出导入
- mongodb3.2版本用户管理
- mongodb3.X版本 用户管理
- Fedroa1X以后版本开启用root用户登录的方法
- SVN 用户管理和版本管理
- MongoDB之基础-1 MongoDB2.6.4版本之安装介绍
- Mongodb2.6升级修改以及新特性
- MongoDB2.6window系统下安装服务
- MongoDB2.6 安装到CentOS5.5
- Mongodb2.6升级到Mongodb3.0.2笔记
- file标签之act=info,查看文件或目录属性信息
- 1004. Counting Leaves
- Sed使用的变量里含有转义字符的解决
- 天声人語 20150227
- jQuery mobile 学习11 listview 列表显示 带图
- mongodb2.6以后版本管理用户
- 日经春秋 20150227
- UEFI里面的PCI驱动
- 日经社説 20150227 遺族も納得の医療事故調に
- MFC(文档和串行化,孙鑫C++第十三讲笔记整理) .
- 日经社説 20150227 中国と対話を深め独禁政策に透明性を
- 构建HTML5移动应用的十个技巧
- IE浏览器下web调试工具之--IE WebDeveloper介绍
- cocos2d中使用chipmunk做碰撞检测