在 Debian 上开启 MongoDB 认证(Authentication),通常步骤如下(以 systemd 管理的 MongoDB 为例,适用于 MongoDB 4.x / 5.x / 6.x):
MongoDB 配置文件一般位于:
/etc/mongod.conf
使用编辑器打开:
sudo nano /etc/mongod.conf
在文件中找到或添加 security 配置:
security:
authorization: enabled
注意:YAML 对缩进敏感,不要使用 Tab。
示例完整片段:
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
net:
port: 27017
bindIp: 127.0.0.1
security:
authorization: enabled
在开启认证前或单机关闭认证时先建用户,否则可能无法登录。
直接连接 MongoDB:
mongo
use admin
db.createUser({
user: "admin",
pwd: "StrongPassword",
roles: [ { role: "root", db: "admin" } ]
})
sudo systemctl restart mongod
查看状态:
sudo systemctl status mongod
mongo -u admin -p --authenticationDatabase admin
或:
mongo
use admin
db.auth("admin", "StrongPassword")
use mydb
db.createUser({
user: "appuser",
pwd: "AppPassword",
roles: [ { role: "readWrite", db: "mydb" } ]
})
连接:
mongo -u appuser -p --authenticationDatabase mydb
admin 或业务库中创建的authenticationDatabase 正确authorization: enabled如果你使用的是 MongoDB 7+ / apt 安装 / Docker / 副本集,可以告诉我,我可以给你对应版本的具体配置。