温馨提示×

mongodb在centos的权限控制

小樊
50
2025-09-15 18:18:04
栏目: 云计算

MongoDB在CentOS的权限控制主要通过用户角色管理、配置文件设置及访问控制实现,具体如下:

  1. 启用身份验证
    编辑配置文件 /etc/mongod.conf,设置 security.authorization: enabled,并重启服务生效。
  2. 创建用户并分配角色
    • 切换到 admin 数据库,使用 db.createUser() 创建用户,指定数据库及角色(如 readWritedbAdmin 等预定义角色)。
    • 示例:为用户 myUsermydatabase 数据库分配读写权限:
      use mydatabase
      db.createUser({
        user: "myUser",
        pwd: "password",
        roles: [{ role: "readWrite", db: "mydatabase" }]
      })
      
  3. 权限管理操作
    • 查看用户权限:db.getUser("用户名")
    • 授予/撤销角色:db.grantRolesToUser() / db.revokeRolesFromUser()
  4. 配置文件与访问控制
    • 确保配置文件 /etc/mongod.conf 权限为 600,仅 root 可修改:
      sudo chmod 600 /etc/mongod.conf
    • 通过防火墙限制端口(默认 27017)访问:
      sudo firewall-cmd --add-port=27017/tcp --permanent
  5. 安全增强
    • 启用SSL/TLS加密通信(需在配置文件中配置证书路径)。
    • 定期审计用户权限,删除冗余账户。

说明:部分命令需在 mongo shell 中执行,用户角色需根据实际业务需求选择,如 clusterAdmin 用于集群管理,read 仅允许查询。

0