Ubuntu MongoDB配置认证怎么弄
导读:Ubuntu 上配置 MongoDB 认证的完整步骤 一 准备与安装 更新软件源并安装 MongoDB(社区版包名为 mongodb-org;若系统仓库仅有 mongodb 包也可使用,但推荐官方社区版): sudo apt updat...
Ubuntu 上配置 MongoDB 认证的完整步骤
一 准备与安装
- 更新软件源并安装 MongoDB(社区版包名为 mongodb-org;若系统仓库仅有 mongodb 包也可使用,但推荐官方社区版):
- sudo apt update
- sudo apt install -y mongodb-org
- 启动并检查服务状态:
- sudo systemctl start mongod
- sudo systemctl status mongod
- 说明:安装完成后,MongoDB 默认监听 27017 端口,配置文件通常为 /etc/mongod.conf。
二 创建管理员用户
- 连接 Shell(旧版为 mongo,新版为 mongosh):
- mongosh(或 mongo)
- 在 admin 库创建管理员(示例赋予最高权限,生产环境可按需收敛):
- use admin
- db.createUser({ user: “admin”, pwd: “StrongPassw0rd!”, roles: [{ role: “root”, db: “admin” } ] } )
- 验证创建结果:
- db.auth(“admin”, “StrongPassw0rd!”) 应返回 1。
三 启用认证并重启服务
- 编辑配置文件 /etc/mongod.conf,开启授权:
- security: authorization: “enabled”
- 重启使配置生效:
- sudo systemctl restart mongod
- 说明:部分旧教程使用 auth=true 的 INI 风格写法,新版本 YAML 配置应使用 security.authorization。
四 测试认证连接
- 本地带认证连接:
- mongosh -u “admin” -p “StrongPassw0rd!” --authenticationDatabase “admin”
- 远程连接(示例):
- mongosh -u “admin” -p “StrongPassw0rd!” --host YOUR_SERVER_IP --port 27017 --authenticationDatabase “admin”
- 若未指定 --authenticationDatabase,默认会对连接的数据库进行认证,建议使用 admin。
五 安全加固与常见问题
- 网络与访问控制:
- 仅本地访问:net.bindIp: 127.0.0.1
- 指定网段访问:net.bindIp: 192.168.1.100,127.0.0.1
- 远程开放需配合防火墙(如 ufw/iptables)仅放通必要来源 IP 与端口 27017。
- 传输加密(可选但强烈建议):
- 配置 SSL/TLS(示例):
- net: ssl: mode: requireSSL PEMKeyFile: /path/to/your/ssl.pem CAFile: /path/to/your/ca.pem
- 配置 SSL/TLS(示例):
- 常见问题排查:
- 启用了认证却无法登录:确认登录时使用了 --authenticationDatabase admin,且用户名/密码正确。
- 配置文件路径或格式错误:新版默认 /etc/mongod.conf(YAML),旧版可能为 /etc/mongodb.conf(INI);修改后执行 sudo systemctl restart mongod 生效。
- 服务无法启动:检查 YAML 缩进、端口占用、数据目录权限(/var/lib/mongodb 属主应为 mongodb:mongodb)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu MongoDB配置认证怎么弄
本文地址: https://pptw.com/jishu/760266.html
