Mongo 用户创建及权限管理
Mongo版本3.0之前使用的是db.addUser(),但3.0之后使用的是db.createUser()
内建的角色:
数据库用户角色:read、readWrite;
数据库管理角色:dbAdmin、dbOwner、userAdmin;
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
备份恢复角色:backup、restore;
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root // 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
内部角色:__system
角色说明:
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
# 创建管理用户
> db.createUser({user: "admin",pwd: "admin",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
# 创建只读用户
> db.createUser({user:"a",pwd:"a",roles:[{role:"read",db:"test"}]})
# 创建读写用户
> db.createUser({user:"b",pwd:"b",roles:[{role:"readWrite",db:"test"}]})
# 查看所有用户及权限
> show users
> db.system.users.find()
# 修改用户密码
> db.changeUserPassword("admin", "aaaaa")
# 用户授权
db.grantRolesToUser("admin",[{role:"root", db:"admin"}])
# 查看用户角色
> db.getUser("admin")
# 查看角色权限
db.getRole( "read", { showPrivileges: true } )
开启权限验证:
[root@snails ~]# echo "auth = true" >> /root/mongodb/bin/mongodb.conf
最新文章
- Go build constraints
- Leetcode 笔记 100 - Same Tree
- iOS事件传递->;处理->;响应
- SqlServer性能优化 即席查询(十三)
- 【sinatra】安装测试
- linux 下 `dirname $0`
- li排序的两种方法
- 04-树5 Complete Binary Search Tree
- 【Unity3D插件】在Unity中读写文件数据:LitJSON快速教程
- NYOJ-228 士兵杀敌5
- Oracle VM VirtualBox 设置本机与虚拟机共享文件
- 分享一组Rpg Marker人物行走,游戏素材图片,共20张图片
- 实体框架(Entity Framework)简介
- uva 1510 - Neon Sign(计数)
- C#中假设正确使用线程Task类和Thread类
- Python第一天——入门Python(2)字符串的简单操作
- Chapter 14_2 全局变量声明
- 从零开始学习C#——HelloWorld(一)
- 微软Tech Summit 2017,微软携手Unity打造MR之夜
- Answers to ";Why are my jobs not running?";