centos

centos pgadmin权限设置问题

小樊
45
2025-08-24 22:23:08
栏目: 智能运维

在CentOS上设置pgAdmin权限需结合PostgreSQL用户/角色管理,核心步骤如下:

  1. 安装pgAdmin

    sudo yum install pgadmin4  
    
  2. 创建专用用户

    • 系统用户(可选):
      sudo adduser pgadmin  
      sudo passwd pgadmin  
      
    • PostgreSQL角色:
      sudo -u postgres psql  
      CREATE ROLE pgadmin WITH LOGIN PASSWORD '密码' CREATEDB CREATEROLE;  
      
  3. 配置数据库权限

    • 数据库级别
      GRANT ALL PRIVILEGES ON DATABASE 数据库名 TO pgadmin;  
      
    • 表级别
      GRANT SELECT, INSERT, UPDATE ON 表名 TO pgadmin;  
      
    • 角色继承
      将用户添加到角色中实现权限复用:
      GRANT 角色名 TO 用户名;  
      
  4. 配置访问控制

    • 修改pg_hba.conf限制IP访问(如仅允许本地):
      sudo vi /var/lib/pgsql/data/pg_hba.conf  
      # 添加:host    all             pgadmin         127.0.0.1/32            md5  
      sudo systemctl restart postgresql  
      
    • 防火墙放行端口(默认5050):
      sudo firewall-cmd --add-port=5050/tcp --permanent  
      sudo firewall-cmd --reload  
      
  5. 验证权限
    通过pgAdmin登录后,检查“服务器→数据库→模式→表”的权限列表,或使用SQL命令:

    \z 表名  # 查看表权限  
    \du      # 查看用户/角色权限  
    

注意:避免使用超级用户权限运行pgAdmin,优先通过角色分配最小必要权限,定期审计权限配置。

0
看了该问题的人还看了