以下是MongoDB在Ubuntu上的权限管理策略及操作步骤:
-
安装与基础配置
- 通过官方仓库安装MongoDB:
sudo apt-get install -y mongodb-org。 - 创建数据目录并设置权限:
sudo mkdir -p /data/db,sudo chown -R mongodb:mongodb /data/db。
- 通过官方仓库安装MongoDB:
-
启用认证与授权
- 编辑配置文件
/etc/mongod.conf,在security部分添加authorization: enabled。 - 重启服务生效:
sudo systemctl restart mongod。
- 编辑配置文件
-
创建管理员用户
- 连接到MongoDB:
mongo,切换到admin数据库:use admin。 - 创建具有管理权限的用户(如
root角色):db.createUser({ user: "adminUser", pwd: "your_password", roles: [{ role: "root", db: "admin" }] }) ```。
- 连接到MongoDB:
-
数据库用户权限管理
- 在目标数据库中创建用户并分配角色(如
readWrite、dbAdmin):use myDatabase db.createUser({ user: "myUser", pwd: "user_password", roles: [{ role: "readWrite", db: "myDatabase" }] }) ```。 - 可通过
db.grantRolesToUser()为用户追加角色。
- 在目标数据库中创建用户并分配角色(如
-
访问控制与安全增强
- 限制IP访问:在
/etc/mongod.conf的net部分设置bindIp为特定IP或0.0.0.0(仅限本地)。 - 使用防火墙(如
ufw)限制端口访问:sudo ufw allow from trusted_ip/32 port 27017。 - 启用SSL/TLS加密传输(需配置证书)。
- 限制IP访问:在
-
审计与维护
- 启用审计日志记录用户操作:在
/etc/mongod.conf中配置auditLog。 - 定期备份数据并更新系统及MongoDB补丁。
- 启用审计日志记录用户操作:在
关键命令参考:
- 用户管理:
db.createUser()、db.grantRolesToUser()、db.dropUser()。 - 服务操作:
sudo systemctl start/stop/restart mongod。 - 配置文件路径:
/etc/mongod.conf。
参考来源: