温馨提示×

CentOS如何配置MongoDB的认证机制

小樊
35
2025-11-27 18:44:56
栏目: 云计算

在CentOS上配置MongoDB的认证机制,可以按照以下步骤进行:

1. 安装MongoDB

首先,确保你已经安装了MongoDB。如果还没有安装,可以使用以下命令进行安装:

sudo yum install -y mongodb-org

2. 启动MongoDB服务

安装完成后,启动MongoDB服务:

sudo systemctl start mongod

3. 配置MongoDB启用认证

编辑MongoDB的配置文件 /etc/mongod.conf,找到 security 部分并启用认证:

security:
  authorization: enabled

4. 创建管理员用户

使用 mongo shell 连接到MongoDB,并创建一个管理员用户:

mongo

mongo shell 中执行以下命令:

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

5. 重启MongoDB服务

修改配置文件后,重启MongoDB服务以使更改生效:

sudo systemctl restart mongod

6. 使用管理员用户连接MongoDB

使用新创建的管理员用户连接到MongoDB:

mongo -u admin -p your_password --authenticationDatabase admin

7. 创建其他用户和角色

你可以根据需要创建其他用户和角色。例如,创建一个只读用户:

use your_database
db.createUser({
  user: "read_only_user",
  pwd: "read_only_password",
  roles: [{ role: "read", db: "your_database" }]
})

8. 配置客户端连接

在客户端应用程序中,确保使用正确的用户名和密码连接到MongoDB,并指定认证数据库:

const MongoClient = require('mongodb').MongoClient;

const uri = "mongodb://read_only_user:read_only_password@your_host:your_port/your_database?authSource=admin";
MongoClient.connect(uri, function(err, client) {
  if (err) throw err;
  console.log("Connected successfully to server");
  const db = client.db("your_database");
  // 进行数据库操作
  client.close();
});

9. 配置防火墙

确保防火墙允许MongoDB的默认端口(27017):

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

10. 验证配置

最后,验证配置是否正确。使用管理员用户连接到MongoDB,并尝试创建新用户或进行其他操作。

通过以上步骤,你可以在CentOS上成功配置MongoDB的认证机制。

0