9 mongodb 权限机制

创建时间:2023-02-07 14:01
长度:1021
浏览:0
评论:0

从开始学习到现在,我们都是直接用终端输入命令,就可以直接进入数据库,这样是非常不安全的!ps:在mac使用sudo命令还是需要密码的,但生产环境中,还是需要使用到权限机制的;


创建数据库账号

db.createUser({
    user: "账号名",
    pwd: "密码",
    roles: {
        role: "角色",
        db: "所属数据库",
    }
})

角色种类

超级用户角色:root

数据库用户角色:read、readWrite

数据库管理角色:dbAdmin、userAdmin

集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager

备份恢复角色:backup、restore

所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase


角色说明

root:只在admin数据库中可用。超级账号,超级权限;

read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库


开启验证模式

什么是?

   指用户需要输入账号密码才能登录使用

操作步骤

   1. 添加超级管理员

   2.退出卸载服务

   3.重新安装需要输入账号密码的服务(在原安装命令基础上加上 --auth即可)

   4.启动服务

   5. 登录测试

# 步骤1: 添加超级管理员
use admin

db.createUser({
    user: "admin",
    pwd: "admin888",
    roles: {
        role: "root",
        db: "admin",
    }
})
// 查看是否成功 db.集合名.find();
db.system.users.find().pretty();

# 步骤2:退出卸载服务
# 在安装目录下有个bin目录,然后
# 在window下,doc窗口必须用户管理员身份运行
mongod --remove

// 步骤4:
# mongo IP:端口/数据库 -u 用户名 -p 密码
mongo 127.0.0.1:27017/admin -u admin -p admin888
第二种:
    use admin;
    db.auth("admin", "admin888");


评论(共0条)