Ubuntu 上 MongoDB 权限设置实操指南
一 核心原则与准备
二 配置网络与认证
net:
port: 27017
bindIp: 127.0.0.1 # 仅本地;如需内网访问,可改为内网网段如 192.168.1.0/24 或具体 IP
security:
authorization: enabled
sudo systemctl restart mongod
# 或
sudo systemctl restart mongodb
三 创建管理员与数据库用户
mongosh mongodb://localhost:27017
use admin
db.createUser({
user: "admin",
pwd: "StrongPass!2025",
roles: [
{ role: "userAdminAnyDatabase", db: "admin" }, // 用户管理
{ role: "readWriteAnyDatabase", db: "admin" }, // 必要时再授予全局读写
{ role: "clusterAdmin", db: "admin" } // 集群管理(可选)
]
})
use my_db
db.createUser({
user: "app_user",
pwd: "AppPass!2025",
roles: [
{ role: "dbOwner", db: "my_db" } // 包含读写、索引、用户在该库的管理等
// 或仅读写:{ role: "readWrite", db: "my_db" }
]
})
四 连接验证与权限测试
# 连接业务库并认证
mongosh mongodb://app_user:AppPass!2025@localhost:27017/my_db
# 在 shell 内验证当前用户
use my_db
show users
db.getName() # 应返回 my_db
五 常见运维与安全建议