在CentOS上为MongoDB设置用户权限,您需要遵循以下步骤:
首先,确保您已经安装了MongoDB。如果尚未安装,请参考MongoDB官方文档中的说明:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/
启动MongoDB服务:
sudo systemctl start mongod
createUser命令创建一个新用户。例如,要创建一个名为myUser的用户,密码为myPassword,并具有读取和写入特定数据库的权限,请执行以下命令:mongo -u root -p your_root_password
在MongoDB shell中,输入以下命令创建新用户:
use your_database_name;
db.createUser({
user: "myUser",
pwd: "myPassword",
roles: [
{ role: "readWrite", db: "your_database_name" }
]
});
将your_database_name替换为您要授权的数据库名称。
mongo -u myUser -p myPassword --authenticationDatabase your_database_name
createUser命令中添加其他角色。例如,要为用户分配读取所有数据库的权限,可以将角色更改为readAnyDatabase:db.createUser({
user: "myUser",
pwd: "myPassword",
roles: [
{ role: "readAnyDatabase", db: "admin" }
]
});
bindIp设置允许来自所需IP地址的连接。默认情况下,MongoDB仅允许来自本地主机的连接。要允许来自其他IP地址的连接,请编辑/etc/mongod.conf文件,找到bindIp行并将其更改为:bindIp = 0.0.0.0
这将允许来自任何IP地址的连接。出于安全原因,建议您仅允许可信任的IP地址。
sudo systemctl restart mongod
现在,您已经成功为MongoDB设置了用户权限。