我们在AWS中安装了MongoDB,它在没有身份验证模式的情况下运行。但我们希望在身份验证模式下运行MongoDB实例。我们添加了线路安全性: 授权:"启用"在mongod.conf文件中。但是我们仍然可以在没有任何凭证的情况下连接我们的数据库。
答案 0 :(得分:0)
您可以登录因为localhost异常,您可以登录数据库来创建用户,因为您还没有创建任何用户。如mongodb网站所述。
您可以在启用访问控制之前或之后创建用户。 如果在创建任何用户之前启用访问控制,则为MongoDB 提供localhost异常,允许您创建用户 admin数据库中的管理员。一旦创建,你必须 以用户管理员身份验证以创建其他用户 需要的。
之后你应该创建一个带有角色userAdminAnyDatabase的管理员用户,你甚至可以创建这个用户,即使mongod是以-auth开头的。您可以通过以下命令创建此用户。
use admin
db.createUser(
{
user: "myAdmin",
pwd: "123adc",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
然后创建其他用户,有关详细信息,您可以转到我提供的另一个答案。