温馨提示×

centos怎么设置mongodb权限

小樊
42
2026-10-17 12:17:33
栏目: 云计算

在 CentOS 上设置 MongoDB 权限,通常包含 启用鉴权(auth) 和 创建用户/角色 两个主要步骤。下面按常见流程说明(以 MongoDB 4.x/5.x/6.x 为例,使用 mongod 服务方式)。


一、前置说明

  • 操作系统:CentOS 7 / CentOS 8
  • MongoDB:通过官方 yum 源安装
  • 目标:
    • 启用账号密码登录
    • 创建管理员用户
    • 为数据库创建读写用户

二、修改 MongoDB 配置启用鉴权

1. 编辑配置文件

sudo vi /etc/mongod.conf

找到 security 部分,修改为:

security:
  authorization: enabled

如果没有 security,直接加上即可。

2. 重启 MongoDB

sudo systemctl restart mongod
sudo systemctl enable mongod

三、创建 MongoDB 用户(先无鉴权或本地创建)

如果你已经启用了 authorization: enabled,请先临时关闭,创建完用户再开启。

1. 进入 MongoDB

mongo

(MongoDB 6+ 可用 mongosh)

2. 创建管理员用户

use admin

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

3. 为某个数据库创建普通用户

use mydb

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

四、使用账号登录 MongoDB

命令行登录

mongo -u root -p --authenticationDatabase admin

或:

mongosh "mongodb://root:StrongPassword@localhost:27017/admin"

应用连接示例

mongodb://appuser:AppPassword@localhost:27017/mydb

五、常见角色说明

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

六、防火墙(可选)

sudo firewall-cmd --permanent --add-port=27017/tcp
sudo firewall-cmd --reload

七、安全建议

  • 不要使用默认端口(可选)
  • 绑定内网 IP:
net:
  bindIp: 127.0.0.1,192.168.1.10
  • 使用强密码
  • 禁止公网直接暴露 27017

如果你告诉我:

  • MongoDB 版本
  • 是否用 Docker
  • 单节点还是副本集

我可以给你更精确的操作步骤。

0 踩