管理 MongoDB 用户和权限
2024-09-04 04:57:20
创建用户
创建用户的函数是:db.createUser()
。
创建用户时,需要为该用户添加权限。可添加的权限以及说明:
权限 | 作用 |
---|---|
read | 允许用户读取指定数据库。 |
readWrite | 允许用户读写指定数据库。 |
dbAdmin | 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile。 |
userAdmin | 允许用户向system.users集合写入,可以在指定数据库里创建、删除和管理用户。 |
clusterAdmin | 只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。 |
readAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读权限。 |
readWriteAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的读写权限。 |
userAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的userAdmin权限。 |
dbAdminAnyDatabase | 只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。 |
root | 只在admin数据库中可用。超级账号,超级权限。 |
进入命令行
进入 MongoDB 命令行,切换到 admin 数据库:
> use admin
switched to db admin
添加用户权限
db.createUser({"user": "[username]", "pwd": "[password]", "roles": [{"role": "userAdminAnyDatabase", "db": "admin"}]})
添加用户认证
在配置文件末尾处添加auth = true
。访问数据库时必须进行用户认证才可操作数据库:
再次启动服务,使用数据库时进行用户认证:
> use admin
switched to db admin
> db.auth("[username]", "[password]")
1
更新用户权限
更新用户权限的函数是:db.updateUser()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。
更改用户密码
更改用户密码的函数是db.updateUser()
或db.changeUserPassword()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。
删除用户
删除用户的函数是db.dropUser()
。更新用户权限需要用户具有userAdmin
、userAdminAnyDatabase
和root
中的其中一个。
最新文章
- Linux之sar命令介绍
- 写给后端程序员的HTTP缓存原理介绍
- ActionErrors和ActionError
- JS-用js的for循环实现九九乘法表以及其他算数题等
- Nginx反向代理的模拟
- codevs 1704 卡片游戏
- [zz]pg_hba.conf 一种安全地配置策略
- 将win7电脑变身WiFi热点
- Django中国|Django中文社区——python、django爱好者交流社区
- monogdb笔记1
- 最近两场比赛 CF 285 &; TC 646
- c语言结构体5之匿名结构体
- APP被苹果App Store拒绝的79个原因【转】
- AC自动机讲解
- _2_head_中标签
- SQL Server 批量插入
- iOS监听模式系列之iOS开发证书、秘钥
- 前端CSS学习-Background背景相关
- PPT母版制作
- 服务器、应用框架、MVC、MTV
热门文章
- 零成本搭建个人博客之图床和cdn加速
- 技术分享 | 想做App测试就一定要了解的App结构
- Museui 图标速览,再也不用担心网页打不开了
- 基于Vue.js的Web视频播放器插件vue-vam-video@1.3.6 正式发布
- 浅议.NET遗留应用改造
- 问题:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <;https://mirrors.tuna.tsinghua.edu.cn/anaconda/pk
- Jira7.3.8环境搭建
- 牛客SQL刷题第一趴——非技术入门基础篇
- [Java学习笔记] Java异常机制(也许是全网最独特视角)
- JUC源码学习笔记2——AQS共享和Semaphore,CountDownLatch