Mongodb未在本地主机上进行身份验证或连接经过身份验证的Mongodb公司



系统

嗨,我在ubuntu 20.14上运行mongodb。我使用systemctl运行mongodb

我所做的

我试图通过添加一个管理员用户并启用身份验证来提高它的安全性。我已经多次重新启动服务了。

配置文件:

security:
authorization: enabled

我如何创建用户:

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

问题

我仍然可以在没有任何授权的情况下通过mongodb指南针进行连接???即使我启用了身份验证,我也能做任何事情?我无法使用以下网址进行身份验证登录:

mongodb://username:password@localhost:27017/
mongodb://username:password@localhost:27017?authSource=admin

我确信配置文件正在加载,因为身份验证在控制台中工作,我可以在mongod.log 中看到正确的配置加载

应该是这个:

mongodb://username:password@localhost:27017?authSource=admin

另请参阅:尝试保存到mongodb 时身份验证失败

是的,即使没有身份验证,您也可以在任何情况下连接到Mongo数据库。但是,除了db.help()db.version()db.getMongo()等无害的命令之外,您无法执行任何操作。

您可以跳过参数enableLocalhostAuthBypass。localhost异常仅适用于MongoDB实例中没有创建用户的情况。

解决方案

我以为问题出在mongodb指南针上。所以我所做的是删除应用程序,当我这样做的时候,我看到我的电脑上也安装了mongodb。

我从来没有连接到我在ubuntu服务器上创建的mongodb,而是在我自己的电脑上

最新更新