当前位置: 首页 > 编程笔记 >

MongoDB 用户管理

岑叶秋
2023-03-14
本文向大家介绍MongoDB 用户管理,包括了MongoDB 用户管理的使用技巧和注意事项,需要的朋友参考一下

小小最近接触了MongoDB,所以这里开始学习MongoDB,之用户管理模块的相关内容。

进入MongoDB的Shell

这里输入如下的命令,进入MongoDB的shell

mongo

切换数据库

use admin

使用如上的命令,切换数据库到admin数据库。

创建超级管理员用户

创建超级管理员权限的用户

db.createUser( 
 { user: "admin", 
  customData:{description:"superuser"},
  pwd: "admin", 
  roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] 
 } 
)

其中各个字段解释如下

  • user字段: 新用户的名字。
  • pwd 字段 用户的密码
  • cusomData 字段,任意内容,可以是用户名的全民介绍。
  • roles 字段 指定用户的角色,用于给一个空数组,给新用户设定空的角色,在roles字段,可以指定设置相关的角色。
  • db 数据库的名字,用于管理数据库。

创建超级用户

这里创建一个超级用户,用于管理全部用户的权限

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

创建一个业务数据库的管理员的用户

这个用户专门负责一个或者几个数据库的增删查改。

> db.createUser({
  user:"user001",
  pwd:"123456",
  customData:{
    name:'jim',
    email:'jim@qq.com',
    age:18,
  },
  roles:[
    {role:"readWrite",db:"db001"},
    {role:"readWrite",db:"db002"},
    'read'// 对其他数据库有只读权限,对db001、db002是读写权限
  ]
})

其中

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

这样就完成了一个最基本的数据库管理角色的创建。

查看和创建用户

使用如下的命令,进行查看和创建用户

show users

使用该命令可以实现对用户的查看和创建用户。

修改密码

use admin
db.changeUserPassword("username", "xxx")

使用该命令,可以实现对密码的修改。

修改密码和用户信息

db.runCommand(
  {
    updateUser:"username",
    pwd:"xxx",
    customData:{title:"xxx"}
  }
)

删除数据库用户

use admin
db.dropUser('user001')

创建其他数据库管理员

// 登录管理员用户
use admin
db.auth('admin','admin')
// 切换至db001数据库
use db001
// ... 増查改删该数据库专有用户

核心,启用权限验证

权限设定完成以后,需要输入如下的命令,用于启用权限验证。

mongo --auth

所有的修改,都需要重写启动mongodb

所有的修改,都需要重写启动mongodb,才可以生效

net stop mongodb;
net start mongodb;

以上就是MongoDB 用户管理的详细内容,更多关于MongoDB 用户管理的资料请关注小牛知识库其它相关文章!

 类似资料:
  • 本文向大家介绍浅析MongoDB用户管理,包括了浅析MongoDB用户管理的使用技巧和注意事项,需要的朋友参考一下 1. 创建一个超级用户 超级用户的role有两种,userAdmin或者userAdminAnyDatabase(比前一种多加了对所有数据库的访问)。 db是指定数据库的名字,admin是管理数据库。 2. 用新创建的用户登录 3. 查看当前用户的权限 4. 创建一般用户,也是用cr

  • http://docs.mongodb.org/manual/tutorial/add-user-administrator/ 2)然后我编辑了mongod.conf,取消了这一行的注释 4)我可以连接,但它在连接时说了这句话。 5)现在,我创建的这个用户似乎根本没有权限。 问题出在哪里?我将整个过程重复了3次,并且 我认为我是按照MongoDB文档中指定的方式完成的。但它不起作用。 我希望这个用

  • 本文向大家介绍MongoDB快速入门笔记(七)MongoDB的用户管理操作,包括了MongoDB快速入门笔记(七)MongoDB的用户管理操作的使用技巧和注意事项,需要的朋友参考一下 MongoDB 简介 MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是

  • 在初次撰写本书时,都只讨论到了“物”,而没有关注“人”。而在实际使用中,Linux 系统首先是面向用户的系统,所有之前介绍的内容全部是提供给不同的用户使用的。实际使用中常常碰到各类用户操作,所以这里添加一个独立的章节来介绍。 Linux 支持多用户,也就是说允许不同的人使用同一个系统,每个人有一个属于自己的帐号。而且允许大家设置不同的认证密码,确保大家的私有信息得到保护。另外,为了确保整个系统的安

  • 本文档叙述了 Ceph 客户端的用户身份,及其与 Ceph 存储集群的认证和授权。用户可以是个人或系统角色(像应用程序),它们用 Ceph 客户端和 Ceph 服务器守护进程交互。 When Ceph runs with authentication and authorization enabled (enabled by default), you must specify a user na

  • 因该平台主要面向内部使用,对注册功能其实没有太大用处。所以没有做用户注册功能,要么通过LDAP登陆,要么第三方授权登陆,要么就管理员添加用户登陆。 添加/编辑用户 找到“平台管理”->“用户管理”菜单,在列表页点击“清加用户”按钮,在弹出的对话框中输入相关信息: 如果您使用的是LDAP登陆或第三方授权登陆,那该用户会自动获取到邮箱及姓名。 授权登陆或LDAP登陆的用户默认分配的空间及角色是在app