首页主机资讯Ubuntu如何管理MongoDB用户

Ubuntu如何管理MongoDB用户

时间2025-11-25 14:02:03发布访客分类主机资讯浏览454
导读:Ubuntu 上管理 MongoDB 用户的实操指南 一 准备与启用认证 安装并启动服务(若尚未完成): sudo apt update sudo apt install -y mongodb sudo systemctl start...

Ubuntu 上管理 MongoDB 用户的实操指南

一 准备与启用认证

  • 安装并启动服务(若尚未完成):
    • sudo apt update
    • sudo apt install -y mongodb
    • sudo systemctl start mongodb
    • sudo systemctl enable mongodb
  • 启用访问控制(推荐在配置文件中开启):
    • 编辑配置文件:sudo nano /etc/mongodb.conf
    • 启用授权:
      • security:
        • authorization: “enabled”
    • 重启生效:sudo systemctl restart mongodb
  • 说明:也可在命令行使用 mongod 的 –auth 参数,但生产环境建议使用配置文件管理。

二 常用用户管理操作

  • 连接 Shell:mongosh(或旧版 mongo)
  • 创建管理员(仅在 admin 库创建高权限账户):
    • use admin
    • db.createUser({ user: “admin”, pwd: “StrongPass#123”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” } ] } )
  • 创建应用数据库用户(在哪个库创建,后续就要用该库进行认证):
    • use mydb
    • db.createUser({ user: “appuser”, pwd: “AppPass#456”, roles: [{ role: “readWrite”, db: “mydb” } ] } )
  • 列出与查看用户:
    • 当前库:show users 或 db.getUsers()
    • 指定库:use admin → db.getUsers()(查看所有库用户需具备相应权限)
  • 修改密码:
    • db.changeUserPassword(“appuser”, “NewPass#789”)
  • 授予更多角色:
    • db.grantRolesToUser(“appuser”, [{ role: “dbAdmin”, db: “mydb” } ])
  • 撤销角色:
    • db.revokeRolesFromUser(“appuser”, [{ role: “dbAdmin”, db: “mydb” } ])
  • 删除用户:
    • use mydb
    • db.dropUser(“appuser”)
  • 登录验证示例:
    • mongosh mongodb://appuser:AppPass#456@localhost:27017/mydb
    • 或在 Shell 内:use mydb → db.auth(“appuser”, “AppPass#456”)

三 角色与权限要点

  • 数据库级:
    • read:只读
    • readWrite:读写
    • dbAdmin:索引、统计等管理
    • userAdmin:管理当前库的用户与角色
    • dbOwner:对当前库拥有全部权限(含 userAdmin、dbAdmin 等)
  • 集群级:
    • clusterAdminclusterManagerclusterMonitorhostManager
  • 全库级(仅可在 admin 库授予):
    • readAnyDatabasereadWriteAnyDatabase
    • userAdminAnyDatabasedbAdminAnyDatabase
  • 超级用户:
    • root(仅可在 admin 库创建)
  • 实践建议:遵循最小权限原则,应用使用专属账户,管理员账户仅用于运维。

四 远程访问与安全加固

  • 仅本地访问(默认更安全):
    • /etc/mongodb.conf → net.bindIp: 127.0.0.1
  • 需要远程访问时(务必配合强认证与防火墙):
    • /etc/mongodb.conf → net.bindIp: 0.0.0.0
    • 重启:sudo systemctl restart mongodb
  • 防火墙放行(UFW 示例):
    • sudo ufw allow from 你的IP/32 to any port 27017
  • 安全清单:
    • 开启 authorization
    • 使用强密码并定期轮换
    • 为不同应用创建最小权限账户
    • 限制来源 IP,避免公网暴露 27017 端口

五 图形化管理工具

  • 使用 MongoDB Compass
    • 连接后展开左侧 Security → Users → Add User
    • 填写用户名、密码并选择角色(如 readWrite、dbOwner 等),保存即可。

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


若转载请注明出处: Ubuntu如何管理MongoDB用户
本文地址: https://pptw.com/jishu/755536.html
MongoDB配置Ubuntu如何提高性能 Ubuntu如何监控MongoDB性能

游客 回复需填写必要信息