Linux系统中pgAdmin的安全设置技巧
readonly、readwrite),为角色分配最小必要权限(如SELECT、INSERT),再将角色授予用户;避免直接给用户分配高权限(如SUPERUSER)。config_local.py文件中的PORT参数实现。ufw(Ubuntu)或firewalld(CentOS)限制pgAdmin端口的访问,仅允许受信任IP地址(如管理员办公IP)访问;例如ufw allow from 192.168.1.100 to any port 54321。ssh -L 54321:localhost:54321 user@pgadmin-server-ip,客户端通过localhost:54321访问。config_local.py中的SSL_CERT_FILE和SSL_KEY_FILE参数指向证书路径,设置SSL_MODE = 'require'。postgresql.conf文件(ssl = on),并通过pg_hba.conf文件强制要求SSL连接(如hostssl all all 0.0.0.0/0 md5)。apt update && apt upgrade),修补已知安全漏洞;禁用root用户远程SSH登录(修改/etc/ssh/sshd_config中的PermitRootLogin no),使用普通用户+sudo执行管理任务。config_local.py、web/config.py)的访问权限,仅允许root用户或pgAdmin专用用户读写;命令示例:chmod 600 /opt/pgadmin4/config_local.py。config_local.py中设置LOG_FILE参数),记录用户登录、操作(如SQL执行、数据库修改)等信息;定期检查日志,及时发现异常行为(如频繁登录失败、未授权访问)。pg_hba.conf文件控制客户端访问权限,例如仅允许特定IP段的IP地址连接(host all all 192.168.1.0/24 md5);使用setfacl命令设置pgAdmin目录的ACL,限制特定用户或组的访问权限(如setfacl -m u:admin:rwx /opt/pgadmin4)。~/.pgpass文件中(格式:hostname:port:database:username:password),并设置文件权限为600(chmod 600 ~/.pgpass),防止密码泄露。