mongodb如何使用授权登录
首页 专栏 mongodb 文章详情
0

mongodb如何使用授权登录

歪歪闹 发布于 4 月 8 日

前言

mongodb默认是不需要授权登录的,这样在实际生产环境中是非常危险的一件事情,接下来就来讲一下如何开启安全授权访问

1. 第一次登录不启动授权(默认就是不启动),我们先来创建admin和root账号,他们是用来开启授权后操作用户,创建数据库等操作的

use admin db.createUser({ user: "admin", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) db.createUser({user: "root",pwd: "123456", roles: [ { role: "root", db: "admin" } ]})

2. 第二次登录开启授权

./mongod --auth --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log

3. 用admin账号登录

db.auth("admin","123456");

4. 创建我们需要的数据库并添加权限

use mydb db.createUser({user: "mydb",pwd: "123456",roles: [ { role: "dbOwner", db: "mydb" } ]})

附:权限说明

数据库用户角色:read、readWrite 数据库管理角色:dbAdmin、dbOwner、userAdmin 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager 备份恢复角色:backup、restore 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 超级用户角色:root
mongodb
阅读 134 发布于 4 月 8 日
举报
收藏
分享
本作品系原创, 采用《署名-非商业性使用-禁止演绎 4.0 国际》许可协议
avatar
歪歪闹
19 声望
0 粉丝
关注作者
0 条评论
得票数 最新
提交评论
avatar
歪歪闹
19 声望
0 粉丝
关注作者
宣传栏
目录

前言

mongodb默认是不需要授权登录的,这样在实际生产环境中是非常危险的一件事情,接下来就来讲一下如何开启安全授权访问

1. 第一次登录不启动授权(默认就是不启动),我们先来创建admin和root账号,他们是用来开启授权后操作用户,创建数据库等操作的

use admin db.createUser({ user: "admin", pwd: "123456", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) db.createUser({user: "root",pwd: "123456", roles: [ { role: "root", db: "admin" } ]})

2. 第二次登录开启授权

./mongod --auth --dbpath=/home/db/data --logpath=/home/db/logs/mongodb.log

3. 用admin账号登录

db.auth("admin","123456");

4. 创建我们需要的数据库并添加权限

use mydb db.createUser({user: "mydb",pwd: "123456",roles: [ { role: "dbOwner", db: "mydb" } ]})

附:权限说明

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