mongodb带用户权限操作
来源:互联网 发布:linux建立用户和组 编辑:程序博客网 时间:2024/05/28 06:06
1. 启动Mongodb服务
mongod --dbpath D:\mongodb\db --auth
或
mongod --dbpath D:\mongodb\db -logpath D:\mongodb\log\mongo_log.txt -auth
注:带上 “--auth “
2. 创建用户
步骤:
(1) 使用不带权限的方式启动mongodb服务,即:mongod --dbpath D:\mongodb\db
(2) 切到 admin 数据库(命令:use admin),查看当前库用户信息(命令:show users)
(3) 创建超级用户,命令:db.createUser({user:"admin",pwd:"admin",roles:[{role:"root",db:"admin"}]})
(4) 重启mongodb服务(使用待权限方式重启)
(5) 切到 admin 数据库(命令:use admin),并执行授权命令:db.auth("admin","admin"),返回结果为 1,标识授权成功,可以执行相关操作,或者授权失败
(6) 切到 需要使用的数据库(如:test),在test数据库下创建用户: db.createUser({user:"testUser",pwd:"testPwd",roles:[{role:"read",db:"test"}]})
(7) 数据库test的用户创建完成
注:
(1) 首先需要在 admin 数据库下创建超级用户(如果已存在,则不需要再次创建)
(2) 为自定义数据库创建用户时,需要在带权限mongodb服务启动下,由admin数据库下的管理员用户创建,即先在admin数据库下管理员用户授权,再切到自定义数据库,创建用户
(3) db.createUser({user:"testUser",pwd:"testPwd",roles:[{role:"read",db:"test"}]}) 中的db中的值是自定义数据库名称
3. 显示数据库用户信息:show users
4. 删除指定用户:db.dropUser("用户名")
5. 用户角色说明
数据库用户角色: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(),下面几个函数也是常用的:
获得数据库的所有用户权限信息:db.getUsers()
获得某个用户的权限信息:db.getUser()
创建角色: db.createRole()
更新角色:db.updateRole()
删除角色:db.dropRole()
获得某个角色信息:db.getRole()
删除用户:db.dropUser()
删除所有用户:db.dropAllUsers()
将一个角色赋予给用户:db.grantRolesToUser()
撤销某个用户的某个角色权限:db.revokeRolesFromUser()
更改密码:db.changeUserPassword()
- mongodb带用户权限操作
- MongoDB用户权限操作
- MongoDB初探系列之三:MongoDB用户权限操作
- MongoDB初探系列之三:MongoDB用户权限操作
- MongoDB--用户权限
- MongoDB下配置用户权限
- 【MongoDB】-用户权限设置详解
- MongoDB用户权限设置
- mongoDB 3.0以上用户权限
- [MongoDB] 用户权限管理
- mongodb 用户权限设定
- mongodb用户权限管理配置
- mongodb用户权限管理配置
- mongodb主从用户权限管理
- MongoDB 用户权限管理
- mongodb 安装 用户权限分配
- MongoDB用户权限篇
- MongoDB 用户权限与安全相关
- Android侧滑菜单QQ5.0自定义控件
- 等待hive上游数据公用函数
- iOS之UITableView和NSTableView的区别
- shell基本变量说明
- noip 2015 提高组 跳石头
- mongodb带用户权限操作
- disrupter 并发框架 初始
- [RK3288][Android6.0] WiFi之无线网络配置的关闭过程
- 操作系统之磁盘管理
- SharpSSH中文乱码问题解决
- 代理服务器与NAT技术
- 工厂模式之——【简单工厂模式】剖析
- oracle 中 the account is locked解决方法
- PHP7.0新特性