linux

MongoDB在Linux上的权限设置

小樊
46
2025-09-10 19:15:22
栏目: 云计算

MongoDB在Linux上的权限设置主要涉及用户管理、角色分配及访问控制,具体步骤如下:

  1. 创建用户与角色

    • 切换到admin数据库,创建管理员用户(需分配rootuserAdminAnyDatabase等角色):
      use admin
      db.createUser({
        user: "admin",
        pwd: "your_password",
        roles: [{ role: "root", db: "admin" }]
      })
      
    • 为特定数据库创建普通用户并分配角色(如readWrite):
      use myDatabase
      db.createUser({
        user: "appUser",
        pwd: "app_password",
        roles: [{ role: "readWrite", db: "myDatabase" }]
      })
      
  2. 启用身份验证
    编辑配置文件/etc/mongod.conf,添加以下内容:

    security:
      authorization: enabled
    

    重启服务生效:

    sudo systemctl restart mongod
    
  3. 数据目录权限设置
    确保MongoDB数据目录(默认/data/db)由mongodb用户拥有,权限为755

    sudo chown -R mongodb:mongodb /data/db
    sudo chmod 755 /data/db
    
  4. 可选:加密连接(SSL/TLS)
    /etc/mongod.conf中配置SSL参数,启用加密通信:

    net:
      ssl:
        mode: requireSSL
        PEMKeyFile: /path/to/mongodb.pem
        CAFile: /path/to/ca.pem
    

    客户端连接时需指定证书:

    mongo --ssl --sslCAFile /path/to/ca.pem --sslPEMKeyFile /path/to/mongodb.pem -u admin -p your_password
    
  5. 验证权限
    使用新用户登录并测试权限:

    mongo -u appUser -p app_password --authenticationDatabase myDatabase
    db.runCommand({ connectionStatus: 1 })  # 查看当前用户权限
    

关键说明

0
看了该问题的人还看了