温馨提示×

centos mongodb权限怎么给

小樊
49
2026-09-30 00:50:08
栏目: 云计算

在 CentOS 上给 MongoDB 配置权限,通常分两种情况:


一、系统层面(Linux 用户/文件权限)

如果你说的是 CentOS 系统用户访问 MongoDB 文件权限:

1. MongoDB 数据目录权限

MongoDB 默认数据目录一般是 /var/lib/mongo

chown -R mongod:mongod /var/lib/mongo
chmod -R 700 /var/lib/mongo

2. 日志目录权限

chown -R mongod:mongod /var/log/mongodb
chmod -R 755 /var/log/mongodb

3. 启动用户

MongoDB 通常以 mongod 用户运行(CentOS 安装包默认)

systemctl start mongod

二、MongoDB 数据库用户权限(最常见)

1️⃣ 开启认证

编辑配置文件:

vi /etc/mongod.conf

添加或修改:

security:
  authorization: enabled

重启 MongoDB:

systemctl restart mongod

2️⃣ 创建管理员用户

先无密码登录:

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

3️⃣ 创建普通数据库用户

例如给 testdb 库权限:

use testdb
db.createUser({
  user: "testuser",
  pwd: "testpass",
  roles: [
    { role: "readWrite", db: "testdb" }
  ]
})

4️⃣ 使用账号登录

mongo -u testuser -p testpass --authenticationDatabase testdb

三、常用角色说明

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

四、示例:给某个 IP 访问权限(防火墙)

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

五、常见错误

❌ not authorized on admin to execute command
✅ 没开 authorization 或用户角色不够


如果你能具体说:

  • 是 Linux 系统权限 还是 MongoDB 用户权限
  • CentOS 版本(7 / 8 / Stream)
  • MongoDB 版本

我可以给你更精确的命令。

0 踩