MongoDB 3.0 添加用户

定义:
创建一个数据库新用户用db.createUser()方法,如果用户存在则返回一个用户重复错误。

语法:
db.createUser(user, writeConcern)
    user这个文档创建关于用户的身份认证和访问信息;
    writeConcern这个文档描述保证MongoDB提供写操作的成功报告。

· user文档,定义了用户的以下形式:
{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

user文档字段介绍:
    user字段,为新用户的名字;
    pwd字段,用户的密码;
    cusomData字段,为任意内容,例如可以为用户全名介绍;
    roles字段,指定用户的角色,可以用一个空数组给新用户设定空角色;
    在roles字段,可以指定内置角色和用户定义的角色。

    Built-In Roles(内置角色):
    1. 数据库用户角色:read、readWrite;
    2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
    3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
    4. 备份恢复角色:backup、restore;
    5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
    6. 超级用户角色:root  
    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
    7. 内部角色:__system
    PS:关于每个角色所拥有的操作权限可以点击上面的内置角色链接查看详情。

· writeConcern文档(官方说明
    w选项:允许的值分别是 1、0、大于1的值、"majority"、<tag set>;
    j选项:确保mongod实例写数据到磁盘上的journal(日志),这可以确保mongd以外关闭不会丢失数据。设置true启用。
    wtimeout:指定一个时间限制,以毫秒为单位。wtimeout只适用于w值大于1。

例如:在products数据库创建用户accountAdmin01,并给该用户admin数据库上clusterAdmin和readAnyDatabase的角色,products数据库上readWrite角色。
use products
db.createUser( { "user" : "accountAdmin01",
                 "pwd": "cleartext password",
                 "customData" : { employeeId: 12345 },
                 "roles" : [ { role: "clusterAdmin", db: "admin" },
                             { role: "readAnyDatabase", db: "admin" },
                             "readWrite"
                             ] },
               { w: "majority" , wtimeout: 5000 } )

验证:
mongo -u accountAdmin01 -p yourpassward --authenticationDatabase products

时间: 2024-12-15 06:19:57

MongoDB 3.0 添加用户的相关文章

Mongodb 3.0 创建用户

MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 创建第一个用户(该用户需要有grant权限,即:账号管理的授权权限) 1.以非auth认证方式启动数据库: [[email protected] ~]$ mongod --dbpath=/mongodb/data --logpath=/mongodb/log/trace.log --logappend --port=27017 --fork [[email prote

MySQL8.0添加用户和权限

参考代码: -- 使用mysql数据库 USE mysql -- 创建用户 CREATE USER myuser IDENTIFIED BY 'mypass'; -- 查看用户 SELECT user, host, authentication_string FROM USER WHERE USER='myuser'; -- 修改用户密码update user set authentication_string='' where user='myuser';ALTER USER 'myuser'

简单的给mongodb添加用户和认证

一 进入mongo 选择 admin 数据库 use admin 二 添加用户 db.addUser("root", "123456") 三 登陆验证 auth db.auth("root","123456") 四 修改配置 vim /etc/mongodb.conf auth=true前面的注释拿掉,以及把bind_ip设置成0.0.0.0

MongoDB 3.0 用户创建

摘要: MongoDB 3.0 安全权限访问控制,在添加用户上面3.0版本和之前的版本有很大的区别,这里就说明下3.0的添加用户的方法. 环境.测试: 在安装MongoDB之后,先关闭auth认证,进入查看数据库,只有一个local库,admin库是不存在的: [email protected]yi:/usr/local/mongo4# mongo --port=27020 MongoDB shell version: 3.0.4 connecting to: 127.0.0.1:27020/t

mongodb添加用户认证

连接上mongodb并新建用户 use mall db.createUser(    {      user: "haha",      pwd: "123456",      roles:        [          { role: "readWrite", db: "mall" },                  ]    } 启动的时候添加--auth参数 可以用-u -p参数登陆 -> mongo [

MongoDB 3添加用户

在mongodb上添加用户报错,如下: > db.addUser('user01','123456'); 2016-07-29T14:50:28.932+0800 E QUERY    TypeError: Property 'addUser' of object admin is not a function     at (shell):1:4 经查,原因是在mongodb版本3以上已经弃用了adduser,改成createuser了. [[email protected] bin]$ ./

mongodb添加用户和认证

Mongodb默认启动是不带认证,也没有账号,只要能连接上服务就可以对数据库进行各种操作,这样可不行.现在,我们得一步步开启使用用户和认证. 第一步,我们得定位到mongodb的安装目录.我本机的是C:\mongodb. 然后按着shift键右键点击窗口内的空白处,你会看到有个选项 “在此处打开命令窗口” ,一般人我不告诉他^ ^.在cmd内我们使用下面的命令 mongod --auth --logpath "D:\Program Files (x86)\Web\mongodb\log\log.

Windows安装MongoDB 4.0并赋予用户访问权限

第一部分 Windows安装MongoDB-4.0 第一步:下载MongoDB:https://www.mongodb.com/download-center?jmp=nav#community 我目前使用版本为mongodb-win32-x86_64-2008plus-ssl-4.0.1-signed.msi 第二步:下载社区版Compass:https://www.mongodb.com/download-center?jmp=nav#compass 第三步:安装MongoDB:注意安装的时

Mongodb 授权 用户管理 添加用户

[开发过程的随笔总结,欢迎您的点评,可以做到更加严谨] 简介:mongoDB noSql数据库 文档型数据库 前些天,做一个日志归类入库项目的时候  用mongoDB进行持久化存储   防止mongoDb的无权限链接,添加了权限验证 1 如果mongoDB是开放内网地址的话,不用担心外部链接 2 mongoDB添加用户(版本mongoDB 3.2.7) 授权方式启动服务 要让用户生效, 需要启动服务器时,就指定 --auth 选项. 操作mongoDB前先进行授权 db.auth('root',