mongodb如何使用授权登录

Posted 我是大吉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mongodb如何使用授权登录相关的知识,希望对你有一定的参考价值。

前言

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如何使用授权登录的主要内容,如果未能解决你的问题,请参考以下文章

如何将代码片段存储在 mongodb 中?

OkHttpInterceptor 从 kotlin 拦截器导航到登录片段

mongodb授权使用mongotop

read ECONNRESET at TLSWrap.onStreamRead (internal/stream_base_commons.js:209:20) { errno: -4077(代码片段

Facebook状态回调不适用于片段

如何使用 SAML 2.0 响应进行特定 DNN 用户角色组身份验证和授权?