阅读量:159
在 CentOS 下,MongoDB 的权限设置主要通过用户角色和角色权限来实现
创建用户:
首先,您需要创建一个 MongoDB 用户并为其分配适当的角色。例如,创建一个名为 myuser 的用户,并为其分配 readWrite 和 dbAdmin 角色:
use mydatabase
db.createUser(
{
user: "myuser",
pwd: "mypassword",
roles: [
{ role: "readWrite", db: "mydatabase" },
{ role: "dbAdmin", db: "mydatabase" }
]
}
)
配置 MongoDB 角色权限:
MongoDB 自带了一些预定义的角色,您可以根据需要为这些角色分配权限。以下是一些常用角色的权限示例:
分配角色权限:
要为用户分配角色权限,请使用以下命令:
use mydatabase
db.grantRolesToUser("myuser", ["readWrite", "dbAdmin"])
验证权限:
要验证用户是否具有特定角色的权限,可以使用以下命令:
use mydatabase
db.getUser("myuser")
这将显示用户的角色和权限信息。
限制访问:
如果您希望限制用户访问特定数据库或集合,可以在创建用户时为其分配特定数据库的权限。例如,只允许用户访问名为 mydatabase 的数据库:
use mydatabase
db.createUser(
{
user: "myuser",
pwd: "mypassword",
roles: [
{ role: "readWrite", db: "mydatabase" }
]
}
)
这样,用户将只能访问 mydatabase 数据库,无法访问其他数据库。
这些是在 CentOS 下设置 MongoDB 权限的基本方法。您可以根据实际需求进行调整和扩展。