Step into MongoDB - 16 - 账号管理

目录

摘要

建立管理员,建立一般用户,授权,删除用户

账号管理

概述

  • mongodb 没有默认管理员账号。
  • 切换到 admin 数据库,添加的账号才是管理员账号。
  • 用户只能在用户所在数据库登录,包括管理员账号。
  • 管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在 admin 数据库认证后才可以。

管理员

添加系统管理员账号

基本定义

需要在 admin 数据库下

db.createUser(user, writeConcern)

user 的数据格式

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

use admin;
db.createUser(
  {
    user: "siteUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)
特定数据库的管理员

格式

需要先切换到对应的数据库

use 数据库名;
db.createUser(
  {
    user: "用户名",
    pwd: "密码",
    roles:
    [
      {
        role: "userAdmin",
        db: "数据库名"
      }
    ]
  }
)

db.createUser(
  {
    user: "recordUserAdmin",
    pwd: "password",
    roles: [ { role: "userAdmin", db: "mydb" } ]
  }
)
无限制的管理员
use admin
db.createUser(
    {
      user: "用户名",
      pwd: "密码",
      roles: [ "root" ]
    }
)

一般用户

use 数据库名
db.createUser(
    {
      user: "用户名",
      pwd: "密码",
      roles: [
        {
          role: "read", #or "readWrite"
          db: "数据库名"
        }
      ]
    }
)

启用权限验证

配置文件

auth=true

mongod --auth

注意修改权限后需要重新启动服务器

授权

用户只能在用户所在数据库登录,管理员需要通过 admin 认证后才能管理其他数据库

启动时指定

mongo -u user1 -p psw --authenticationDatabase mydb

启动后指定

use 数据库名;
db.auth("用户名", "密码")

删除用户

直接操作数据库 db.system.users

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值