在Linux中,MongoDB的权限管理主要通过角色和用户来实现。以下是一些关于如何在Linux中设置MongoDB权限的方法:
createUser
命令创建一个新用户。例如,创建一个名为admin
的用户,密码为myPassword
:mongo -u admin -p myPassword --authenticationDatabase admin
在MongoDB shell中,运行以下命令以创建具有管理员权限的新用户:
use admin
db.createUser({
user: "admin",
pwd: "myPassword",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
myDatabase
的数据库创建一个名为myUser
的用户,密码为myPassword
,并授予读取和写入权限:mongo -u admin -p myPassword --authenticationDatabase admin
在MongoDB shell中,运行以下命令以创建具有读取和写入权限的新用户:
use myDatabase
db.createUser({
user: "myUser",
pwd: "myPassword",
roles: [{ role: "readWrite", db: "myDatabase" }]
})
myDatabase
的数据库创建一个名为readOnlyUser
的用户,密码为myPassword
,并授予只读权限:mongo -u admin -p myPassword --authenticationDatabase admin
在MongoDB shell中,运行以下命令以创建具有只读权限的新用户:
use myDatabase
db.createUser({
user: "readOnlyUser",
pwd: "myPassword",
roles: [{ role: "read", db: "myDatabase" }]
})
你可以根据需要为用户分配一个或多个角色。
scram-sha-1
或scram-sha-256
作为密码加密方法。例如,使用SCRAM-SHA-256创建一个新用户:use myDatabase
db.createUser({
user: "myUser",
pwd: "myPassword",
roles: [{ role: "readWrite", db: "myDatabase" }],
authenticationRestrictions: [{ clientSource: ["127.0.0.1"] }]
})
总之,在Linux中设置MongoDB权限需要创建用户并为其分配适当的角色。你可以根据需要创建具有不同权限的用户,并使用强密码和身份验证方法来保护你的数据库。