Debian 系统如何配置 MongoDB 认证

在 Debian 系统上配置 MongoDB 认证,可以按照以下步骤进行:

1. 安装 MongoDB

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

sudo apt update
sudo apt install -y mongodb

2. 启动 MongoDB 服务

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

sudo systemctl start mongod

并设置 MongoDB 服务开机自启动:

sudo systemctl enable mongod

3. 配置 MongoDB 认证

MongoDB 默认情况下是未启用认证的。为了启用认证,你需要修改 MongoDB 的配置文件 /etc/mongod.conf

打开配置文件:

sudo nano /etc/mongod.conf

找到 security 部分,并进行如下修改:

security:
  authorization: enabled

保存并关闭文件。

4. 重启 MongoDB 服务

修改配置文件后,重启 MongoDB 服务以应用更改:

sudo systemctl restart mongod

5. 创建管理员用户

在 MongoDB 启动并启用认证后,你需要创建一个管理员用户。首先,连接到 MongoDB:

mongo

然后,在 admin 数据库中创建一个管理员用户:

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

your_password 替换为你想要设置的密码。

6. 使用管理员用户登录

使用新创建的管理员用户登录 MongoDB:

mongo -u admin -p your_password --authenticationDatabase admin

7. 创建其他数据库用户

你可以在任何数据库中创建用户,并为其分配角色。例如,在 mydatabase 数据库中创建一个用户:

use mydatabase
db.createUser({
  user: "myuser",
  pwd: "mypassword",
  roles: [{ role: "readWrite", db: "mydatabase" }]
})

myusermypassword 替换为你想要设置的用户名和密码。

8. 使用新用户登录

使用新创建的用户登录 MongoDB:

mongo -u myuser -p mypassword --authenticationDatabase mydatabase

通过以上步骤,你就可以在 Debian 系统上配置 MongoDB 认证了。确保在生产环境中使用强密码,并定期更新密码以保证安全性。