2.软文推荐
3.软文推荐
在MongoDB中,用户是通过用户名和密码进行身份验证的。为了更好地管理数据库的安全性,您可以设置不同的用户权限。本文将介绍如何在MongoDB中添加用户并限制其访问权限。
1. 创建管理员用户
首先,我们需要创建一个管理员用户来管理数据库。在MongoDB shell中,使用以下命令创建管理员用户:
``` > use admin > db.createUser({ user: "admin", pwd: "password", roles: ["root"] }) ```
在上面的示例中,我们创建了一个名为“admin”的用户,并将其密码设置为“password”。该用户被授予了“root”角色,这意味着它具有管理整个MongoDB服务器的权限。
2. 添加普通用户
现在,我们将创建一个普通用户并将其限制为只能访问特定的数据库。在MongoDB shell中,使用以下命令添加用户:
``` > use mydb > db.createUser({ user: "user", pwd: "password", roles: ["readWrite"] }) ```
在上面的示例中,我们创建了一个名为“user”的用户,并将其密码设置为“password”。该用户被授予了“readWrite”角色,这意味着它可以读取和写入特定的数据库。
3. 限制用户访问
现在,我们已经创建了一个普通用户,但是它仍然可以访问到整个MongoDB服务器。为了限制其访问权限,我们需要创建一个角色并将其分配给用户。
在MongoDB shell中,使用以下命令创建一个名为“mydbuser”的角色:
``` > use mydb > db.createRole({ role: "mydbuser", privileges: [{ resource: { db: "mydb", collection: "" }, actions: ["find", "insert", "update"] }], roles: [] }) ```
在上面的示例中,我们创建了一个名为“mydbuser”的角色,并将其限制为只能在“mydb”数据库中执行“find”、“insert”和“update”操作。
现在,我们将该角色分配给普通用户:
``` > use mydb > db.grantRolesToUser("user", ["mydbuser"]) ```
现在,“user”用户只能在“mydb”数据库中执行“find”、“insert”和“update”操作,而不能对其他数据库或集合进行操作。

立即
返回
1
CentOS 7视频转码":高效处理海量视频数据的利器 摘要:视频转码是处理海量视频数据的一项重要工作,CentOS 7作为一款流行的开源操作系统...