温馨提示×

debian mongodb如何设权限

小樊
39
2026-09-20 17:52:21
栏目: 云计算

在 Debian 上给 MongoDB 设置权限,通常包含 两步
1️⃣ 启用鉴权(auth)
2️⃣ 创建用户并分配角色

下面以 MongoDB 6.x / 7.x(apt 安装) 为例说明。


一、启用 MongoDB 鉴权

1. 修改配置文件

编辑 MongoDB 配置文件:

sudo nano /etc/mongod.conf

在文件中找到 security 部分,改为:

security:
  authorization: enabled

如果原本没有 security,直接添加即可。


2. 重启 MongoDB

sudo systemctl restart mongod

二、创建管理员用户(必须)

在未启用 auth 前或启用后第一次连接 localhost 时操作。

mongosh

切换到 admin 库:

use admin

创建管理员:

db.createUser({
  user: "admin",
  pwd: "StrongPassword",
  roles: [{ role: "root", db: "admin" }]
})

退出:

quit

三、使用账号登录

mongosh -u admin -p --authenticationDatabase admin

四、为业务数据库创建用户

例如创建 mydb 的读写用户:

use mydb

db.createUser({
  user: "myuser",
  pwd: "UserPassword",
  roles: [
    { role: "readWrite", db: "mydb" }
  ]
})

连接示例:

mongosh -u myuser -p --authenticationDatabase mydb

五、常用角色说明

角色 权限
read 只读
readWrite 读写
dbAdmin 数据库管理
userAdmin 用户管理
root 超级管理员

六、Debian 防火墙建议(可选)

如果只允许本地访问:

sudo ufw deny 27017
sudo ufw allow from 127.0.0.1 to any port 27017

七、常见问题

1. 忘记管理员密码

  • 临时注释 authorization
  • 重启 mongod
  • 用本地连接重置用户
  • 再启用 auth

2. 连接被拒绝

  • 检查 bindIp
  • 本地默认允许 socket 连接

如果你愿意,我可以:

  • 给你 docker 版 MongoDB 权限配置
  • 生产环境最小权限方案
  • Spring / Node / Python 连接示例

直接告诉我你的使用场景即可。

0