如何在Ubuntu上管理MongoDB用户
导读:在 Ubuntu 上管理 MongoDB 用户 一 准备与启用身份验证 安装并启动 MongoDB(如尚未安装): sudo apt update sudo apt install -y mongodb sudo systemctl s...
在 Ubuntu 上管理 MongoDB 用户
一 准备与启用身份验证
- 安装并启动 MongoDB(如尚未安装):
- sudo apt update
- sudo apt install -y mongodb
- sudo systemctl start mongodb
- sudo systemctl enable mongodb
- 编辑配置文件(常见路径为:/etc/mongod.conf 或 /etc/mongodb.conf),启用授权:
- security:
- authorization: “enabled”
- security:
- 重启服务使配置生效:
- sudo systemctl restart mongod
- 如仅本机访问,建议限制绑定地址(可选):
- net:
- bindIp: 127.0.0.1 说明:用户是针对特定数据库创建的,启用授权后,连接需提供有效凭据。
- net:
二 常用用户管理操作
- 连接 Shell:mongosh --host 127.0.0.1 --port 27017
- 创建管理员(在 admin 库):
- use admin
- db.createUser({ user: “admin”, pwd: “StrongPass!23”, roles: [{ role: “userAdminAnyDatabase”, db: “admin” } ] } )
- 创建数据库专属用户(在目标数据库创建):
- use mydb
- db.createUser({ user: “appuser”, pwd: “AppPass!45”, roles: [{ role: “readWrite”, db: “mydb” } ] } )
- 列出当前库用户:
- show users 或 db.getUsers()
- 删除用户(先切到对应用户所在的库):
- use mydb
- db.dropUser(“appuser”)
- 为用户追加角色(在用户所在库执行):
- db.grantRolesToUser(“appuser”, [{ role: “dbAdmin”, db: “mydb” } ]) 要点:创建与删除用户都需要在“该用户所对应的数据库”中执行;为用户授予权限时,同样在该库执行。
三 连接与验证示例
- 管理员登录:
- mongosh -u “admin” -p “StrongPass!23” --authenticationDatabase “admin”
- 应用用户登录(指定认证库为对应用户库):
- mongosh -u “appuser” -p “AppPass!45” --authenticationDatabase “mydb”
- 在 Shell 内验证身份:
- db.auth(“appuser”, “AppPass!45”)
- 直接带库连接并验证:
- mongosh mongodb://appuser:AppPass!45@127.0.0.1:27017/mydb 说明:–authenticationDatabase 应填写创建该用户时所在的数据库(如 admin 或 mydb)。
四 常见内置角色与适用场景
- 数据库级别:
- read:只读
- readWrite:读写
- dbAdmin:库级管理(索引、统计等)
- dbOwner:库级所有权限(含用户管理)
- 集群与运维:
- clusterAdmin:集群管理(如分片、复制集)
- userAdminAnyDatabase:跨库用户管理(常用于创建/管理其他用户)
- 超级用户:
- root:最高权限(谨慎使用) 实践建议:遵循最小权限原则,为应用分配仅所需的角色。
五 安全与运维建议
- 始终启用 authorization: enabled,并为管理操作与业务操作分别创建不同账户。
- 仅开放必要网络访问:生产环境建议 bindIp: 127.0.0.1;如必须远程访问,结合防火墙与 TLS/SSL 加固。
- 使用强密码并定期轮换;删除不再使用的用户与角色。
- 备份与变更前先在测试环境验证;对关键操作(如关闭服务)使用具备相应权限的账户执行。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何在Ubuntu上管理MongoDB用户
本文地址: https://pptw.com/jishu/775855.html
