在 CentOS 上设置 MongoDB 权限,通常包含 启用鉴权(auth) 和 创建用户/角色 两个主要步骤。下面按常见流程说明(以 MongoDB 4.x/5.x/6.x 为例,使用 mongod 服务方式)。
sudo vi /etc/mongod.conf
找到 security 部分,修改为:
security:
authorization: enabled
如果没有 security,直接加上即可。
sudo systemctl restart mongod
sudo systemctl enable mongod
如果你已经启用了
authorization: enabled,请先临时关闭,创建完用户再开启。
mongo
(MongoDB 6+ 可用 mongosh)
use admin
db.createUser({
user: "root",
pwd: "StrongPassword",
roles: [{ role: "root", db: "admin" }]
})
use mydb
db.createUser({
user: "appuser",
pwd: "AppPassword",
roles: [{ role: "readWrite", db: "mydb" }]
})
mongo -u root -p --authenticationDatabase admin
或:
mongosh "mongodb://root:StrongPassword@localhost:27017/admin"
mongodb://appuser:AppPassword@localhost:27017/mydb
| 角色 | 说明 |
|---|---|
| root | 超级管理员 |
| read | 只读 |
| readWrite | 读写 |
| dbAdmin | 数据库管理 |
| userAdmin | 用户管理 |
sudo firewall-cmd --permanent --add-port=27017/tcp
sudo firewall-cmd --reload
net:
bindIp: 127.0.0.1,192.168.1.10
如果你告诉我:
我可以给你更精确的操作步骤。