网站使用条款模板,佛山做网站需要多少钱,设计网页的三大工具是什么,可以接外包的网站MongoDB 配置用户的访问控制
一、 实验原理
理解admin数据库#xff1a;安装MongoDB时#xff0c;会自动创建admin数据库#xff0c;这是一个特殊数据库#xff0c;提供了普通数据库没有的功能#xff0c;例如#xff0c;有些账户角色赋予用户操作多个数据库的权限安装MongoDB时会自动创建admin数据库这是一个特殊数据库提供了普通数据库没有的功能例如有些账户角色赋予用户操作多个数据库的权限而这些角色只能在admin数据库中创建。检查凭证时MongoDB将在指定数据库和admin数据库中检查用户账户。
创建用户账户
数据库管理的一个重要部分是创建能够管理用户和数据库以及读写数据库的用户账户。要添加用户可在MongoDB shell中使用方法createUser()。createUser()将一个文档对象作为参数让您能够指定用户名、角色和密码。下面列出了可在文档对象中指定的字段。 MongoDB提供了多种可分配给用户账户的角色这些角色让您能够赋予用户账户复杂的权限和限制。下面列出了一些可分配给用户的常见角色。 提示角色readAnyDatabase、readWriteAnyDatabase、dbAdminAnyDatabase和userAdminAnyDatabase只能分配给admin数据库中的用户账户因为它们指定的是对所有数据库的权限
二、实验步骤
启动MongoDB数据库现在创建一个超级账号 创建成功其中user为用户名pwd为密码roles为指定用户的角色可以用一个空数组给新用户设定空角色在roles字段可以指定内置角色和用户定义的角色。role里的角色可以选。
接下来我们关闭MongoDB数据服务验证root账户 登录前应启用身份验证打开mongodb.config文件将#auth true前面的#去掉。 开启mongod服务 下面我们使用root超级用户并指定admin库进行登录 查询当前正在使用的数据库并查询所有数据库名称 在test数据库下创建只读用户和读写用户 查看当前库下的所有用户 上面创建了2个账号现在验证其权限
输入exit命令退出当前用户进入到只读用户’zhangyur’。 向集合mycollection中插入数据 插入失败因为我们当时创建用户时就只赋予它只读权限因此无法插入数据我们切换到拥有读写权限的’zhangyu’用户再次插入数据。 跨库创建用户切换到admin数据库登录root用户在admin库下创建test库的用户 查询所有用户 可以看到在admin库下存在’test’库的账户kuaku切换到test库下验证kuaku用户。 认证失败我们再切换到’admin’库下验证kuaku用户。 认证成功结果说明了在admin下创建的用户不能直接在其他库验证只能在用户的创建库下认证数据库帐号是跟着数据库来走的哪里创建哪里认证。
创建了这么多用户我们来查询一下所有用户 删除‘kuaku’用户 至此实验结束