mongodb用户权限
发表于:2025-02-16 作者:千家信息网编辑
千家信息网最后更新 2025年02月16日,mongodb 开启用户认证:mongodb开启用户认证之后,要通过用户名密码的方式登录现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定
千家信息网最后更新 2025年02月16日mongodb用户权限mongodb 开启用户认证:
mongodb开启用户认证之后,要通过用户名密码的方式登录
现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。
use admin
switched to db admin
> db.createUser(
... {
... user: "dba11",
... pwd: "dba11",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:
1.数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限:userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色来创建、删除用户。验证:需要开启auth参数。
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
----------------------------------
show users; 查看当前库下的用户
因为帐号都是在当前需要授权的数据库下授权的,那要是不在当前数据库下会怎么样?
> db
admin
> db.createUser(
... {
... user: "wbx",
... pwd: "wbx",
... roles: [
... { role: "readWrite", db: "sss" }, #在当前库下创建其他库的帐号,在admin库下创建test、abc库的帐号
... { role: "readWrite", db: "sssss" }
... ]
... }
... )
> show users;
创建了这么多帐号,怎么查看所有帐号?
db.system.users.find().pretty()
**********************************************************************************
造数测试:
for (var i = 1; i <= 100000; i++) {
db.db01.insert( { x : i , name: "MACLEAN" , sex:"女", name2:"maira", name3:"MACLEAN"} )
}
use db01
db.data.find({x:{$gt:40}}).explain();
mongodb开启用户认证之后,要通过用户名密码的方式登录
现在需要创建一个帐号,该账号需要有grant权限,即:账号管理的授权权限。注意一点,帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth)。
use admin
switched to db admin
> db.createUser(
... {
... user: "dba11",
... pwd: "dba11",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
roles:指定用户的角色,可以用一个空数组给新用户设定空角色;在roles字段,可以指定内置角色和用户定义的角色。role里的角色可以选:
1.数据库用户角色:read、readWrite;
2. 数据库管理角色:dbAdmin、dbOwner、userAdmin;
3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
4. 备份恢复角色:backup、restore;
5. 所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
6. 超级用户角色:root
// 这里还有几个角色间接或直接提供了系统超级用户的访问(dbOwner 、userAdmin、userAdminAnyDatabase)
7. 内部角色:__system
Read:允许用户读取指定数据库
readWrite:允许用户读写指定数据库
dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。
readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限:userAdminAnyDatabase 角色,用来管理用户,可以通过这个角色来创建、删除用户。验证:需要开启auth参数。
dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。
root:只在admin数据库中可用。超级账号,超级权限
----------------------------------
show users; 查看当前库下的用户
因为帐号都是在当前需要授权的数据库下授权的,那要是不在当前数据库下会怎么样?
> db
admin
> db.createUser(
... {
... user: "wbx",
... pwd: "wbx",
... roles: [
... { role: "readWrite", db: "sss" }, #在当前库下创建其他库的帐号,在admin库下创建test、abc库的帐号
... { role: "readWrite", db: "sssss" }
... ]
... }
... )
> show users;
创建了这么多帐号,怎么查看所有帐号?
db.system.users.find().pretty()
**********************************************************************************
造数测试:
for (var i = 1; i <= 100000; i++) {
db.db01.insert( { x : i , name: "MACLEAN" , sex:"女", name2:"maira", name3:"MACLEAN"} )
}
use db01
db.data.find({x:{$gt:40}}).explain();
用户
数据
数据库
角色
权限
帐号
管理
账号
函数
库里
认证
验证
参数
可以通过
备份
字段
密码
数组
方式
是在
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
客户端服务器端
朝阳区品牌软件开发设计专业服务
江苏戴尔服务器维修维保多少钱
lol手游哪个服务器好打
计算机网络技术125课后答案
易库网络技术有限公司
计算机及网络技术培训
逃离塔科夫北方极限服务器
数据库查询传输带宽
软件开发硬件采集
千锋教育网络安全视频网盘
巨龙之巢lol服务器
沈阳直销软件开发价格
无线网络安全技术大全
关系数据库名字
熊片数据库手机版
udp服务器程序是脚本吗
上海gps时间服务器时间同步
恐怖主义网络安全气候变化
选网络安全还是人机交互专业
国家网络安全员应具备的条件是
sql2008新建数据库
大连教育局网络安全宣传周
浙江联想服务器虚拟化操作
预防网络安全知识
数据库角色员工权限
新乡市川海网络技术有限公司骗子
oracle查看数据库表操作
ebsco外文数据库
培训数据库工程师