在Linux环境下,MongoDB提供了基于角色的访问控制(Role-Based Access Control,RBAC)来对用户进行权限控制。以下是创建用户、分配角色和设置权限的步骤:
sudo systemctl start mongod
mongo
命令连接到MongoDB实例:mongo
admin
数据库中创建一个具有用户管理权限的用户。将<username>
和<password>
替换为您选择的用户名和密码。use admin
db.createUser({
user: "<username>",
pwd: "<password>",
roles: ["userAdminAnyDatabase", "readWriteAnyDatabase"]
})
<dbname>
和<collectionname>
替换为您选择的数据库和集合名称。use <dbname>
db.createCollection("<collectionname>")
<username>
、<password>
、<dbname>
和<collectionname>
替换为您选择的用户名、密码、数据库和集合名称。将<role>
替换为您要分配的角色,例如readWrite
、dbOwner
等。use <dbname>
db.createUser({
user: "<username>",
pwd: "<password>",
roles: [
{
role: "<role>",
db: "<dbname>"
}
]
})
mongo -u <username> -p <password> --authenticationDatabase <dbname>
通过以上步骤,您可以在Linux环境下为MongoDB设置基于角色的访问控制。根据您的需求,可以为用户分配不同的角色,以限制他们对数据库的访问和操作。