在Linux系统中,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的用户,密码为password1,并将readWriteUser角色分配给该用户:
db.createUser({
user: "user1",
pwd: "password1",
roles: ["readWriteUser"]
});- 退出MongoDB shell:
exit现在,您可以使用新创建的用户user1连接到MongoDB,并具有对myDatabase数据库的读写权限:
mongo -u user1 -p password1 --authenticationDatabase admin需注意的是,在真实的生产环境里,建议使用更为复杂的密码,同时依据实际需求为角色赋予恰当的权限。此外,可将用户和角色的信息存储于外部文件,以方便管理与维护。