温馨提示×

centos怎样设置mongodb权限

小樊
55
2026-10-05 19:51:21
栏目: 云计算

在 CentOS 上设置 MongoDB 权限,通常分为 启用鉴权(auth) 和 创建用户/分配角色 两部分。下面以 MongoDB 4.x / 5.x / 6.x 为例,步骤通用。


一、先确认 MongoDB 已安装并运行

systemctl status mongod

如果没启动:

systemctl start mongod

二、未开启鉴权时,先创建管理员用户

1️⃣ 连接 MongoDB

mongo
# 或(新版本)
mongosh

2️⃣ 切换到 admin 库

use admin

3️⃣ 创建超级管理员

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

三、开启 MongoDB 鉴权(重要)

1️⃣ 修改配置文件

vi /etc/mongod.conf

找到或添加:

security:
  authorization: enabled

⚠️ 注意缩进(YAML 格式)


2️⃣ 重启 MongoDB

systemctl restart mongod

四、使用账号登录测试

mongo -u root -p StrongPassword --authenticationDatabase admin

五、为业务数据库创建用户(推荐)

示例:给 testdb 创建读写用户

use testdb

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

登录方式:

mongo -u appuser -p AppPassword --authenticationDatabase testdb

六、常用角色说明

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

七、CentOS 防火墙(可选)

如果远程连接:

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

并建议 绑定内网 IP:

net:
  bindIp: 127.0.0.1,192.168.1.100

八、安全建议(重要)

✅ 不使用默认端口
✅ 不暴露公网
✅ 使用复杂密码
✅ 定期备份


如果你告诉我:

  • MongoDB 版本
  • 是否单机 / 副本集
  • 是否需要远程访问

我可以给你 更精确的配置示例。

0 踩