在Ubuntu上配置MongoDB认证,你需要按照以下步骤操作:
启用认证:
打开MongoDB配置文件/etc/mongod.conf,找到security部分,并设置authorization为enabled。
security:
authorization: enabled
保存并关闭文件。
重启MongoDB服务: 为了让配置生效,需要重启MongoDB服务。
sudo systemctl restart mongod
创建管理员用户:
连接到MongoDB实例,并创建一个具有管理权限的用户。你可以使用mongo shell来执行这些操作。
mongo
在mongo shell中,切换到admin数据库,并创建一个管理员用户。
use admin
db.createUser({
user: "admin",
pwd: "yourpassword",
roles: ["root"]
})
替换yourpassword为你想要设置的密码。
启用用户认证: 退出mongo shell,并重新连接到MongoDB实例,这次使用新创建的管理员用户进行认证。
mongo -u admin -p yourpassword --authenticationDatabase admin
如果一切正常,你应该能够成功登录。
为数据库创建用户: 现在你可以为特定的数据库创建用户,并为其分配角色和权限。
use yourdatabase
db.createUser({
user: "yourusername",
pwd: "yourpassword",
roles: [
{
role: "readWrite",
db: "yourdatabase"
}
]
})
替换yourdatabase为你想要创建用户的数据库名称,yourusername和yourpassword分别为用户名和密码。
使用新用户认证: 使用新创建的用户连接到MongoDB实例。
mongo -u yourusername -p yourpassword --authenticationDatabase yourdatabase
如果一切正常,你应该能够成功登录并访问指定的数据库。
通过以上步骤,你已经在Ubuntu上成功配置了MongoDB的认证功能。现在,所有连接到MongoDB实例的用户都需要提供有效的用户名和密码才能访问数据库。