温馨提示×

mongodb在centos上的权限管理

小樊
46
2025-08-22 17:03:53
栏目: 云计算

一、基础权限管理步骤

  1. 启用认证
    编辑配置文件 /etc/mongod.conf,添加 security.authorization: enabled,重启服务生效。
  2. 创建管理员用户
    切换到 admin 数据库,使用 db.createUser() 创建具有 root 角色的管理员账号。
    use admin
    db.createUser({
      user: "admin",
      pwd: "强密码",
      roles: [{ role: "root", db: "admin" }]
    })
    
  3. 创建普通用户并分配权限
    • 指定数据库创建用户,分配如 readWrite(读写)、dbAdmin(管理集合/索引)等角色。
    • 示例:为用户 myuser 分配 mydatabase 数据库的读写权限
      use mydatabase
      db.createUser({
        user: "myuser",
        pwd: "密码",
        roles: [{ role: "readWrite", db: "mydatabase" }]
      })
      

二、权限操作命令

  • 查看用户权限db.getUser("用户名")
  • 修改用户密码db.changeUserPassword("用户名", "新密码")
  • 删除用户db.dropUser("用户名")
  • 授予权限db.grantRolesToUser("用户名", ["角色1", "角色2"])
  • 撤销权限db.revokeRolesFromUser("用户名", ["角色1", "角色2"])

三、关键注意事项

  • 角色说明
    • root:超级权限,可管理所有数据库。
    • readWriteAnyDatabase:可读写所有非 local/config 数据库。
    • dbOwner:等价于 readWrite+dbAdmin+userAdmin
  • 认证连接:使用 --authenticationDatabase 指定认证库(如 admin)。
  • 安全增强:建议限制远程访问 IP、启用 SSL/TLS 加密通信。

四、参考来源

0