在 Debian 上给 MongoDB 开启认证(用户名/密码登录),一般按下面步骤来。
MongoDB 的配置文件通常在:
/etc/mongod.conf
用编辑器打开:
sudo nano /etc/mongod.conf
找到 security 部分,如果没有就加上:
security:
authorization: enabled
示例(常见格式):
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
path: /var/log/mongodb/mongod.log
logAppend: true
net:
bindIp: 127.0.0.1
port: 27017
security:
authorization: enabled
⚠️ 注意 YAML 格式,缩进必须是空格,不能用 Tab
sudo systemctl restart mongod
查看状态:
sudo systemctl status mongod
在开启认证前或刚开启后(本地仍可连),先创建管理员:
mongo
或新版本:
mongosh
执行:
use admin
db.createUser({
user: "admin",
pwd: "你的强密码",
roles: [{ role: "root", db: "admin" }]
})
退出后重新连接:
mongo -u admin -p --authenticationDatabase admin
或:
mongosh -u admin -p --authenticationDatabase admin
use mydb
db.createUser({
user: "appuser",
pwd: "app密码",
roles: [{ role: "readWrite", db: "mydb" }]
})
连接:
mongo -u appuser -p --authenticationDatabase mydb
authorization: enabledauthenticationDatabase 下创建的sudo apt install mongodb-org
bindIp 不要直接 0.0.0.0如果你告诉我:
我可以给你更精确的配置示例。