mongodb - Mongodb 未在 localhost 上进行身份验证或连接经过身份验证的 mongodb compas
问题描述
系统
嗨,我在 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
是的,即使没有身份验证,您也可以在任何情况下连接到 Mongo 数据库。但是,除了 , , 等无害的命令之外db.help()
,db.version()
您db.getMongo()
无法执行任何操作。
您可以跳过参数enableLocalhostAuthBypass
。仅当 MongoDB 实例中没有创建用户时,localhost 异常才适用。
推荐阅读
- wordpress - WordPress Nextend 社交登录插件 Facebook 登录 - 应用验证
- java - 我怎样才能避免内循环
- javascript - 将链接展开回默认文本
- api - 有没有办法通过 API 从 Google Analytics 获取特定客户端 ID 的源信息?
- label - Open Layer + GeoJson:在多边形中放置标签
- c# - c#新手:这段代码没有像我预期的那样工作......为什么?
- python - Python Sqlite3 executemany 中的绑定数量不正确
- java - 如何在命令行中运行 openjfx 11
- java - 检查本地时间与另一个时区的给定时间
- javascript - Webpack:需要一个合适的加载器来处理这个文件类型错误