在Ubuntu上配置MongoDB认证涉及几个步骤,包括启用认证、创建管理员用户以及配置MongoDB以使用这些凭据。以下是详细的步骤指南:
1. 启用认证
首先,你需要编辑MongoDB的配置文件/etc/mongod.conf
,以启用认证。
-
打开配置文件:
sudo nano /etc/mongod.conf
-
找到
security
部分,并确保以下设置被启用:security: authorization: enabled
-
保存并关闭文件。
2. 重启MongoDB服务
为了使配置生效,你需要重启MongoDB服务:
sudo systemctl restart mongod
3. 创建管理员用户
接下来,你需要创建一个管理员用户。你可以使用mongo
shell来完成这一操作。
-
连接到MongoDB实例:
mongo
-
切换到
admin
数据库:use admin
-
创建管理员用户。假设用户名为
adminUser
,密码为adminPassword
:db.createUser({ user: "adminUser", pwd: "adminPassword", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
-
退出
mongo
shell:exit
4. 使用管理员用户重新连接
为了使用新创建的管理员用户重新连接到MongoDB,你可以使用以下命令:
mongo -u adminUser -p adminPassword --authenticationDatabase admin
5. 创建其他数据库用户
如果你需要在特定数据库中创建用户,可以按照以下步骤操作:
-
连接到MongoDB实例(使用管理员用户):
mongo -u adminUser -p adminPassword --authenticationDatabase admin
-
切换到目标数据库:
use mydatabase
-
创建新用户。假设用户名为
myUser
,密码为myPassword
,并赋予读写权限:db.createUser({ user: "myUser", pwd: "myPassword", roles: [{ role: "readWrite", db: "mydatabase" }] })
-
退出
mongo
shell:exit
6. 配置MongoDB以使用SSL/TLS(可选)
为了提高安全性,你可以配置MongoDB以使用SSL/TLS。这需要在配置文件中进行额外的设置,并确保你有相应的证书和密钥文件。
-
编辑
/etc/mongod.conf
文件,添加以下内容:net: ssl: mode: requireSSL PEMKeyFile: /path/to/mongodb.pem CAFile: /path/to/ca.pem
-
重启MongoDB服务:
sudo systemctl restart mongod
通过以上步骤,你应该能够在Ubuntu上成功配置MongoDB认证。