mongodb 增加管理员及普通用户

mongodb在2.4以上版本对用户权限管理做了优化调整,增加了数据库的安全性,操作如下:


1.第一次安装mongodb时,发现没有admin数据库,而且addUser方法也会提示没有这个方法,新的命令为:
 
  
use admin
db.createUser(
  {
    user: "root",
    pwd: "root",
    roles:
    [
      {
        role: "userAdminAnyDatabase",
        db: "admin"
      }
    ]
  }
)

此时新建用户已成功。


Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:userAdminAnyDatabase  
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin)
    7. 内部角色:__system。


2.用户认证

db.auth("root","root")
认证返回1表示成功。


3.退出当前链接,重新连接mongo,命令为:

mongo  -u root -p root --authenticationDatabase admin


4. 创建一般用户,命令为:

use test;
db.createUser(
  {
    user:"testuser",
    pwd:"testuser",
    roles:[
      {role:"dbOwner",db:"test"}
    ]
  }
)
db.auth("testuser","testuser")
 
  

5.修改密码,命令为:

use admin
db.changeUserPassword("testuser", "pwd")


其他命令

1.删除用户,命令为:

db.dropUser("testuser");
返回true,表示删除成功。

2.查看当前用户

show users


3. 查看整个mongodb的用户

use admin
db.system.users.find()



其他常见的操作建议去官网查看相关文档:http://docs.mongodb.org/master/

你可能感兴趣的:(mongodb)