启用认证
编辑配置文件 /etc/mongod.conf,添加 security.authorization: enabled,重启服务生效:
sudo systemctl restart mongod
创建管理员用户
连接MongoDB,切换至admin库,创建具有root权限的管理员:
use admin
db.createUser({
user: "admin",
pwd: "强密码",
roles: ["root"]
})
创建普通用户并分配权限
use mydb
db.createUser({
user: "myuser",
pwd: "密码",
roles: [{ role: "readWrite", db: "mydb" }]
})
roles: [{ role: "read", db: "mydb" }]
roles: [{ role: "read", db: "mydb", collection: "特定集合" }]
权限验证与管理
use mydb
db.getUser("myuser")
db.changeUserPassword("myuser", "新密码")
db.dropUser("myuser")
安全优化实践
root或dbAdmin角色。db.getUsers()定期检查用户权限,清理冗余账户。参考来源: