在CentOS上设置MongoDB的权限,您需要遵循以下步骤:
- 创建一个用于运行MongoDB的用户和组:
sudo groupadd mongodb
sudo useradd -r -g mongodb mongodb
- 更改MongoDB数据目录的所有权:
sudo chown -R mongodb:mongodb /var/lib/mongo
- 如果您使用的是默认的MongoDB配置文件(/etc/mongod.conf),请确保
security.authorization选项设置为enabled以启用权限验证。如果需要修改配置文件,请使用文本编辑器打开它,例如:
sudo vi /etc/mongod.conf
在security部分添加或修改以下行:
security:
authorization: enabled
保存并关闭文件。
- 重新启动MongoDB服务以应用更改:
sudo systemctl restart mongod
- 使用
mongoshell连接到MongoDB实例:
mongo
- 创建一个管理员用户。在
mongoshell中,切换到admin数据库并创建一个新用户:
use admin
db.createUser({
user: "admin",
pwd: "your_password",
roles: ["root"]
})
将your_password替换为您选择的密码。
- 现在,您可以为特定数据库创建新用户并分配角色。例如,要在名为
mydb的数据库上创建一个名为myuser的用户并分配readWrite角色,请执行以下操作:
use mydb
db.createUser({
user: "myuser",
pwd: "your_password",
roles: ["readWrite"]
})
将your_password替换为您选择的密码。
- 退出
mongoshell:
exit
- 现在,您需要使用新创建的管理员用户重新连接到MongoDB实例:
mongo -u admin -p your_password --authenticationDatabase admin
- 要测试新用户的权限,请切换到目标数据库并尝试执行一些操作,例如插入文档:
use mydb
db.testCollection.insertOne({ "test": "Hello World" })
完成这些步骤后,您应该已经在CentOS上成功设置了MongoDB的权限。