首页主机资讯MongoDB在Ubuntu上的权限设置怎么做

MongoDB在Ubuntu上的权限设置怎么做

时间2025-11-17 11:52:04发布访客分类主机资讯浏览791
导读:Ubuntu 上 MongoDB 权限设置实操指南 一 启用访问控制与网络限制 编辑配置文件 /etc/mongod.conf,开启认证并限制监听地址: 网络:仅本地访问net: port: 27017 bindIp: 127....

Ubuntu 上 MongoDB 权限设置实操指南

一 启用访问控制与网络限制

  • 编辑配置文件 /etc/mongod.conf,开启认证并限制监听地址:
    • 网络:仅本地访问
      net:
        port: 27017
        bindIp: 127.0.0.1
      
    • 安全:启用授权
      security:
        authorization: enabled
      
  • 重启服务使配置生效:
    sudo systemctl restart mongod
    
  • 说明:如未来需要远程访问,可将 bindIp 改为服务器内网地址(如 192.168.x.x)或使用 0.0.0.0 并配合防火墙与 TLS;生产环境不建议直接开放到公网。

二 创建管理员与数据库用户

  • 使用 mongosh 连接本地实例(未启用认证时可直连;若已启用,请使用具有管理员权限的账户):
    mongosh
    
  • admin 库创建管理员(具备用户管理权限):
    use admin
    db.createUser({
    
      user: "admin",
      pwd: "StrongPass!23",
      roles: [{
     role: "userAdminAnyDatabase", db: "admin" }
    ]
    }
    )
    
  • 为业务库创建最小权限用户(示例为 mydb 的读写用户):
    use mydb
    db.createUser({
    
      user: "mydbuser",
      pwd: "AnotherPass!45",
      roles: [{
     role: "readWrite", db: "mydb" }
    ]
    }
    )
    
  • 说明:也可以在业务库使用 dbOwner 角色获取该库内更完整的权限(含用户管理);删除用户需切到对应用户所在的库执行 db.dropUser(“用户名”)

三 连接与验证权限

  • 管理员连接:
    mongosh -u admin -p StrongPass!23 --authenticationDatabase admin
    
  • 业务用户连接(注意指定认证库为对应用户所在库):
    mongosh -u mydbuser -p AnotherPass!45 --authenticationDatabase mydb
    # 或带库名直连
    mongosh mongodb://mydbuser:AnotherPass!45@localhost:27017/mydb
    
  • 验证权限:
    • mydb 中执行写入并查看用户列表:
      use mydb
      db.test.insertOne({
       x: 1 }
          )
      show users
      
    • 若提示认证失败,请核对用户名、密码、认证库是否为创建该用户时所在的库。

四 常见问题与排查

  • 启用了 authorization: enabled 后无法登录:先用具有管理员权限的账户登录到 admin 库,再为业务库创建用户或调整角色。
  • 忘记管理员密码或权限混乱:在 /etc/mongod.conf 中临时将 security.authorization 注释或设为 disabled,重启服务后进入 mongosh 重置用户与角色,再恢复配置并重启。操作前务必做好数据备份。
  • 远程连接被拒绝:检查 bindIp 是否包含客户端网段、云服务器安全组/防火墙是否放行 27017,并尽量使用 TLS 加密传输。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: MongoDB在Ubuntu上的权限设置怎么做
本文地址: https://pptw.com/jishu/748784.html
如何升级Ubuntu上的MongoDB版本 debian分区后如何安装系统

游客 回复需填写必要信息