MongoDB用户权限管理
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB用户权限管理相关的知识,希望对你有一定的参考价值。
现在使用Role来管理用户,有一些内置的Role,也可以自定义Role。
内置的Role请参看http://docs.mongodb.org/manual/reference/built-in-roles/,权限最高的是root,然后管理用户的和管理数据库的Role是分离的,cluster也有专门的Role。
原先给数据库加用户的命令已经不管用了:
1 2 | use [db_name] db.addUser( '[user]' , '[password]' ) |
现在MongoDB安装好之后,先要用localhost登录上去,创建一个admin,给予userAdminAnyDatabase的权限,可以管理所有数据库的用户:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | use admin db.createUser( { user: "admin" , pwd: "admin" , roles: [ { role: "userAdminAnyDatabase" , db: "admin" } ] } ) |
然后退出,再用admin登录,创建其他用户,给予dbOwner的权限,可以对某个数据库进行所有操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | mongo [ip]/admin -u admin -p admin use [db_name] db.createUser( { user: "[user]" , pwd: "[password]" , roles: [ { role: "dbOwner" , db: "[db_name]" } ] } ) |
然后再用新建的用户登录,就可以操作数据库了。
以上是关于MongoDB用户权限管理的主要内容,如果未能解决你的问题,请参考以下文章