• 创建用户管理员

  在admin数据库中,添加具有该userAdminAnyDatabase角色的用户 。根据需要为此用户添加其他角色。

  注意:创建用户的数据库(在此示例中为 admin)是用户的身份验证数据库。虽然用户将对此数据库进行身份验证,但用户可以在其他数据库中拥有角色; 即用户的身份验证数据库不限制用户的权限

  以下内容使用角色和 角色myUserAdminadmin数据库中创建用户;创建用户的数据库(在此示例中为 admin)是用户的身份验证数据库。

use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
}
)

  

  停止MongoDB

service mongod stop

  

  • 修改配置文件

 在/etc/mongod.conf中添加:

security:
authorization: enabled

  

  • 以用户管理员身份进行连接和身份验证

  验证方式:

  1. 通过传入用户凭据来连接身份验证
mongo命令使用:-u <username>-p <password>--authenticationDatabase <database>

  

  2.首先进行无需身份验证的连接,然后发出db.auth()要进行身份验证;

  切换到身份验证数据库(在本例中为admin),并使用 方法进行身份验证:db.auth(<username>,<pwd>)

use admin
db.auth("myUserAdmin", "abc123" )

  

  授权方式:

#更新角色:db.updateUser( "userName" , [ { role: "<role>", db: "<database>" } ]) 
db.updateUser( "myuser" , [ { role: "dbOwner", db: "mydb" } ])

#授予角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.grantRolesToUser( "myuser" , [ { role: "dbOwner", db: "mydb" } ]) #取消角色:db.grantRolesToUser( "userName" , [ { role: "<role>", db: "<database>" } ]) db.revokeRolesFromUser( "myuser" , [ { role: "readWrite", db: "mydb" } ])

  

参考:https://docs.mongodb.com/manual/tutorial/enable-authentication/

MongoDB添加认证的更多相关文章

  1. Mongodb安全认证

    Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...

  2. Mongodb安全认证及Java调用

    Mongodb安全认证在单实例和副本集两种情况下不太一样,单实例相对简单,只要在启动时加上 --auth参数即可,但副本集则需要keyfile. 一.单实例 1.启动服务(先不要加auth参数) 2. ...

  3. mongodb的认证(authentication)与授权(authorization)

    一小白瞎整mongodb,认证部分被折磨的惨不忍睹,看厮可怜,特查了一下文档,浅显地总结一下mongodb认证(authentication)与授权(authorization)的联系. 创建的所有用 ...

  4. 学习MongoDB 二:MongoDB添加、删除、修改

    一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...

  5. Mongodb添加副本及修改优先级

    Mongodb添加副本及修改优先级 1.添加副本集 #在primary节点上执行 >rs.add( { host: "192.168.1.11:27017", priorit ...

  6. mongodb添加登陆验证

    mongodb添加登陆验证 转载地址 清空log,db目录 mongod --auth --logpath "D:\mongodb\log\log.log" --logappend ...

  7. MongoDB-2:MongoDB添加、删除、修改

    一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...

  8. MongoDB 添加用户名和密码

    MongoDB 添加用户名和密码 我用的是 mongodb3.6,如果没有的话先安装. sudo apt install mongodb 终端输入mongo,首先添加管理用户, show dbs // ...

  9. mongodb添加用户和认证

    Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C ...

随机推荐

  1. Linux常用命令详解(3)

    pidofpstopipuptimewgetcurltrddtargrepfind 命令详解 1.pidof 获取正在运行程序的PID 实例1: [root@ken ~]# pidof sshd 24 ...

  2. Mac使用Charles给iPhone抓包流程

    目录 需求 步骤 1. Mac打开共享Wifi 2. iPhone连接刚刚的WIFI 3. 找到Mac的局域网ip 4. 配置代理 需求 有时候手机接口出问题了,不知道从哪里下手,Charles就是非 ...

  3. 3.Scala语法01 - 基础语法

  4. jfinal3连接sqlserver2012 使用generator生成model 将smallint默认为string

    修改MetaBuilder的buildColumnMetas方法增加对smallint的判断

  5. springboot的启动流程源码分析

    .测试项目,随便一个简单的springboot项目即可: 直接debug调试: 可见,分2步,第一步是创建SpringApplication对象,第二步是调用run方法: 1.SpringApplic ...

  6. kubernetes下jenkins实战maven项目编译构建

    关于kubernetes环境的jenkins集群 在kubernetes环境部署的jenkins集群,执行任务时会新建pod,任务完成后pod被销毁,架构如下所示: 在kubernetes搭建jenk ...

  7. Mice and Rice(queue的用法)

    Mice and Rice(queue的用法) Mice and Rice is the name of a programming contest in which each programmer ...

  8. Shiro入门学习---使用自定义Realm完成认证|练气中期

    写在前面 在上一篇文章<shiro认证流程源码分析--练气初期>当中,我们简单分析了一下shiro的认证流程.不难发现,如果我们需要使用其他数据源的信息完成认证操作,我们需要自定义Real ...

  9. 硬盘安装Linux

    准备材料:U盘.Linux镜像.UltraISO 1.下载安装UltraISO, 2.打开系统镜像 打开后我们就可以在左边侧栏看到镜像的内容 3.插入U盘,点击:启动->写入光盘映像->选 ...

  10. 警惕char类型直接相加

    今天在写某个程序需要对两个数字字符串进行相加操作,比如字符串1:12345,字符串2:23456.需要1和2相加.2和3相加.就是两个字符相同位置的数进行相加. 这个一看很好完成,写一个for,然后取 ...