在 Linux 系统中,MongoDB 权限管理通常通过角色(Role)与用户(User)机制来完成。下面将详细说明 MongoDB 创建角色、创建用户以及分配权限角色的具体操作步骤,帮助您更高效地完成数据库访问控制配置。

- 启动 MongoDB 服务(如果当前尚未启动):
sudo systemctl start mongod- 连接到 MongoDB Shell:
mongo- 创建一个新的角色。例如,创建名为
readWriteUser的角色,并为其授予指定数据库的读写权限:
db.createRole({
role: "readWriteUser",
privileges: [
{
resource: { db: "myDatabase", collection: "" },
actions: ["find", "insert", "update", "delete"]
}
],
roles: []
});- 创建一个新用户,并将刚刚创建的角色分配给该用户。例如,新建一个名为
user1的 MongoDB 用户,密码设置为password1,同时为其绑定readWriteUser角色:
db.createUser({
user: "user1",
pwd: "password1",
roles: ["readWriteUser"]
});- 退出 MongoDB Shell:
exit完成以上配置后,您就可以使用新创建的用户user1连接到 MongoDB,并拥有对myDatabase数据库的读写操作权限:
mongo -u user1 -p password1 --authenticationDatabase admin需要注意的是,在实际生产环境中,建议为 MongoDB 用户设置更复杂、更安全的密码,并根据业务场景进行最小权限分配,避免授予过多不必要的访问权限。另外,还可以将用户和角色相关信息统一存储到外部文件中,以便后续的管理、审计与维护。
