ubuntu

MongoDB在Ubuntu上的权限如何设置

小樊
43
2025-08-13 22:01:31
栏目: 云计算

以下是在Ubuntu上设置MongoDB权限的关键步骤:

  1. 安装MongoDB:通过官方仓库安装,确保版本适配。
  2. 创建专用用户
    • 进入MongoDB shell:mongo
    • admin数据库中创建管理员用户(需指定userAdminAnyDatabase等角色):
      use admin
      db.createUser({
        user: "adminUser",
        pwd: "密码",
        roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
      })
      
  3. 启用身份验证
    • 编辑配置文件/etc/mongod.conf,找到security部分,设置authorization: enabled
    • 重启服务:sudo systemctl restart mongod
  4. 分配数据库权限
    • 切换至目标数据库(如myDB),为用户分配readWrite等角色:
      use myDB
      db.createUser({
        user: "appUser",
        pwd: "密码",
        roles: [{ role: "readWrite", db: "myDB" }]
      })
      
  5. 限制访问控制
    • /etc/mongod.conf中设置bindIp为特定IP(如127.0.0.1或内网IP),限制网络访问。
    • 通过防火墙(如ufw)限制端口(默认27017)访问:sudo ufw allow from IP to any port 27017
  6. 验证权限
    • 使用新用户连接数据库:mongo -u 用户名 -p 密码 --authenticationDatabase admin

注意:确保数据目录(如/var/lib/mongodb)权限正确,属主为mongodb用户,权限为700。参考官方角色文档可细化权限配置:MongoDB内置角色文档

0
看了该问题的人还看了