mongodb 学习笔记 05 -- 用户管理

启用认证

mongod 启动默认没有开启权限,你需要指定 –auth 启动,或者在配置文件中设置security.authorization 为 “enabled”

创建用户

db.createUser(user, writeConcern)

user格式

{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

writeConcern:

例如 {w: “majority”, j: true, wtimeout: 5000}

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

Built-In Roles(内置角色):

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

    // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)

  • 内部角色:__system

creatUser例子

创建超级管理员

use admin
db.createUser({
    user:"username",
    pwd:"password",
    roles:["root"]
})

在products数据库创建accountAdmin01用户,拥有readWrite权限,对admin数据库拥有clusterAdmin跟readAnyDatabase权限

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 } )

登录

use collectionName
db.auth("username",‘password")

查看用户

show users

删除用户

db.dropUser("username")

更改用户密码

db.changeUserPassword("username","password")

更新用户

db.createUser(user, writeConcern)

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-28 02:23:37

mongodb 学习笔记 05 -- 用户管理的相关文章

mongodb 学习笔记05 --用户管理

csdn的markdown编辑器真有够烂的,这篇文章又给弄丢了 启用认证 mongod 启动默认没有开启权限,你须要指定 –auth 启动.或者在配置文件里设置security.authorization 为 "enabled" 创建用户 db.createUser(user, writeConcern) 文档 http://docs.mongodb.org/manual/reference/method/db.createUser/#db.createUser user格式 { us

oracle学习笔记之用户管理-3

用户权限机制 1.不同用户表权限的赋予 grant select on scott.emp to software; ---当前登录用户为表所有者,则表名前不用指定所属用户 2.用software登录后 select * from scott.emp; ---software才有权限查询到scott的emp表 方案(schema) 当用户创建好后,如果该用户创建了一个数据对象(如表),此时dbms会创建一个对应的方案与改用户对应,并且该方案的名称和用户名称一致. system与scott都拥有自

oracle学习笔记之用户管理-2

案例:创建一个用户software,然后给分配权限,可以让software登录数据库.创建表.操作自己创建的表,回收角色,最后删除用户. 1.创建software用户,密码system create user software identified by system; 2.让software连接数据库,需要给其connect.resource权限 grant connect to software; grant resource to software; 3.使用software用户登录 co

oracle学习笔记之用户管理-1

sys    system(管理员) scott(普通用户) sqlserver sa 前提:oracle 上,假如自己是管理员,当需要建立用户的时候,由自己操作: 1.创建用户(sys system用户) create user username identified by password; 注意:密码不能以数字开头 create user mmy identified by system; 创建的mmy用户,并不能通过conn立刻登录,需要进行下面一步 2.赋予用户相应的权限 grant

MongoDB 学习笔记之 权限管理基础

权限管理基础 MongoDB有很多用户roles,这里只是简单列举下命令的使用,具体的role的含义,请查阅官方文档. https://docs.mongodb.com/manual/reference/built-in-roles/#userAdmin 在启用权限验证之前,需要重启服务,开启auth: 命令使用示例: use admin; #创建用户,这里Mongo 3和Mongo 2用的方法不同了. db.createUser({user: 'sky', pwd: 'CSL', roles:

linux —— 学习笔记(用户管理与权限控制)

目录:1.用户的创建和管理    2.组的创建和管理 3.文件执行权限的控制 4.不用密码执行sudo 1.用户的创建和管理 用户的创建和管理: useradd.usermod . userdel .passwd     相关文件:/etc/passwd (用户的基本信息包括用户简单描述和目录等)/etc/shadow(密码信息) 例子:useradd -m -d /home/benson -c Comment benson 2.组的创建和管理 组的创建和管理:groupadd . groupm

MongoDB学习笔记-05 聚合

MongoDB除了基本查询功能之外,还有强大的聚合工具,其中包括:count().distinct().group().mapreduce. 计数函数count count是最简单的聚合工具,用于返回文档的数量: >db.user.count() // 返回集合user的个数 传递查询文档时,则计算查询结果的数量: >db.user.count({"age":{"$lt":20}}) // 返回年龄小于20岁的用户数 该函数对于分页时的总数非常有必要 去

[MongoDB]学习笔记--User管理

1. 创建一个超级用户 use admin db.createUser( { user: "adminUserName", pwd: "userPassword", roles: [ { roles: "userAdminAnyDatabase", db: "admin" } ] } ) 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问). db是指定数

mongodb学习笔记系列一

一.简介和安装 ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,--smallfiles 二.基本命令 1.登录mongodb client /use/local/mongo 2.查看当前数据库 show databases; show dbs; 两个可能 3.admin是和管理有关的库,local 是放schema有关