美文网首页
MongoDB用户权限管理

MongoDB用户权限管理

作者: Pig_Y | 来源:发表于2019-07-31 17:10 被阅读0次

1. 进入MongoDB的shell

注意:mongo.conf文件中的auth应设置为false
启动mongo服务

net start MongoDB

2. 切换数据库

use admin

3. 创建admin超级管理员用户

第一次创建用户时应首先创建一个超级管理员用户

use admin
db.createUser(
  {
    user: "admin",
    pwd: "password",
    roles: [ { role: "root", db: "admin" } ]
  }
);
exit;

user字段,为新用户的名字;
pwd字段,用户的密码;
roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色。在roles字段,可以指定内置角色和用户定义的角色。
db是指定数据库的名字,admin是管理数据库。

role相关的角色:

数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、4. clusterMonitor、hostManage;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色:__system

4. 修改mongo.conf配置

完成这一步操作之后,退出Mongodb,结束MongoDB服务

net stop MongDB

修改mongo.conf中的的authtrue,启动MongoDB服务

net start MongDB

5. 登录超级用户创建新用户

用之前创建的user进行authentication验证登录

mongo -u admin -p password --authenticationDatabase admin

成功登录之后,再创建拥有其他role的其他user, 例如这里我创建一个有test数据库所有权限的testuser:

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

6. 查看创建的用户

show users 或 db.system.users.find() 或 db.runCommand({usersInfo:"userName"})

至此就可以使用新建的用户登录MongoDB啦

7. 修改密码

use admin
db.changeUserPassword("username", "xxx")

可以下载MongoDB的可视化工具 Robo 3T,下载链接https://robomongo.org/

相关文章

网友评论

      本文标题:MongoDB用户权限管理

      本文链接:https://www.haomeiwen.com/subject/hjptdctx.html