以下是在Ubuntu上设置MongoDB权限的关键步骤:
mongo
admin
数据库中创建管理员用户(需指定userAdminAnyDatabase
等角色):use admin
db.createUser({
user: "adminUser",
pwd: "密码",
roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})
/etc/mongod.conf
,找到security
部分,设置authorization: enabled
。sudo systemctl restart mongod
。myDB
),为用户分配readWrite
等角色:use myDB
db.createUser({
user: "appUser",
pwd: "密码",
roles: [{ role: "readWrite", db: "myDB" }]
})
/etc/mongod.conf
中设置bindIp
为特定IP(如127.0.0.1
或内网IP),限制网络访问。ufw
)限制端口(默认27017)访问:sudo ufw allow from IP to any port 27017
。mongo -u 用户名 -p 密码 --authenticationDatabase admin
。注意:确保数据目录(如/var/lib/mongodb
)权限正确,属主为mongodb
用户,权限为700
。参考官方角色文档可细化权限配置:MongoDB内置角色文档。