在Debian上解决MongoDB权限问题,可按以下步骤操作:
安装MongoDB
sudo apt update
sudo apt install -y mongodb
启用身份验证
编辑配置文件 /etc/mongod.conf,找到 security 部分,添加或修改:
security:
authorization: enabled
重启服务生效:
sudo systemctl restart mongod
创建管理员用户
连接MongoDB shell,切换到 admin 数据库并创建管理员:
use admin
db.createUser({
user: "admin",
pwd: "强密码",
roles: ["root"]
})
创建数据库用户并授权
为目标数据库创建用户并分配角色(如 readWrite):
use your_database
db.createUser({
user: "your_user",
pwd: "用户密码",
roles: [{ role: "readWrite", db: "your_database" }]
})
验证权限
使用新用户连接并检查权限:
mongo -u your_user -p "用户密码" --authenticationDatabase your_database
db.runCommand({ connectionStatus: 1 })
可选:配置IP白名单
编辑 /etc/mongod.conf,添加允许访问的IP:
net:
bindIp: 127.0.0.1,你的IP
重启服务生效。
注意:确保数据目录(/var/lib/mongodb)和日志目录权限正确,通常属于 mongodb 用户。生产环境需使用强密码并定期更新权限配置。