Ubuntu如何管理MongoDB用户
导读: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”
- security:
- 重启生效: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 等)
- 集群级:
- clusterAdmin、clusterManager、clusterMonitor、hostManager
- 全库级(仅可在 admin 库授予):
- readAnyDatabase、readWriteAnyDatabase
- userAdminAnyDatabase、dbAdminAnyDatabase
- 超级用户:
- 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
