PostgreSQL 认证方式详解:trust 与 scram-sha-256 的区别与配置
在 PostgreSQL 中trust 和 scram-sha-256 是 pg_hba.conf客户端认证配置文件中用来控制数据库访问权限的两种身份验证方法。它们决定了用户连接数据库时“如何证明自己是自己”。简单概括两者的区别trust 是无条件放行免密scram-sha-256 是加密密码验证最安全。以下是详细的对比和原理解析1. 什么是 trust信任认证含义只要连接请求的来源 IP/Unix Socket 符合 pg_hba.conf 中的规则数据库就会无条件允许该用户登录。验证过程完全跳过密码验证。用户甚至不需要提供密码或提供任意错误密码都能登录。安全性极低。相当于把家门的钥匙直接挂在门把手上。适用场景仅限本地连接local 或 host 127.0.0.1的开发测试环境。数据库服务器处于完全隔离的内网且没有安全风险。绝对不能用于生产环境或任何暴露在网络中的数据库。2. 什么是 scram-sha-256SCRAM-SHA-256 认证含义全称是 Salted Challenge Response Authentication Mechanism with SHA-256。它是 PostgreSQL 目前最安全的默认密码加密认证方式从 PostgreSQL 10 引入PG 14 成为默认。验证过程客户端与服务器之间不直接传输明文密码。具体流程如下客户端发起连接请求。服务器发送一个随机生成的 Salt盐值和迭代次数给客户端。客户端使用 SHA-256 算法将“密码 Salt”混合计算出摘要Digest发送回服务器。服务器用自己存储的加密密钥进行比对。即使网络被监听黑客拿到的也只是动态的加密摘要无法反推出原始密码。安全性极高。防窃听、防重放攻击且加盐后能有效抵御彩虹表撞库。适用场景所有生产环境、公网访问、需要高安全合规的场景。3. 核心区别对比表对比维度trustscram-sha-256是否需要密码❌ 不需要随意输入✅ 必须提供正确密码密码在网络传输不传输因为没有校验不传输明文传输的是加密摘要加盐哈希抗窃听能力❌ 毫无防备✅ 即使被抓包也无法破解密码用户密码存储不检查密码存储内容无关在 pg_authid 表中存储SCRAM-SHA-256$salt$stored_key$server_key性能开销极低几无开销略微高于 Trust有计算哈希的 CPU 开销但现代服务器可忽略安全性⚠️ 致命缺陷任何人都能伪装✅ 工业级安全默认配置倾向仅用于 local 本地测试生产环境绝对首选4. 重要的配置关联password_encryption需要注意的是在 pg_hba.conf 中配置了 scram-sha-256 后PostgreSQL 还依赖一个服务端参数password_encryption来决定存储密码时的算法。如果 pg_hba.conf 要求 scram-sha-256但password_encryption设置为 md5那么当用户执行ALTER USER ... PASSWORD ...时密码仍会以较弱的 MD5 格式存储导致连接失败。正确做法确保 postgresql.conf 中设置password_encryption scram-sha-2565. 它们通常写在哪儿在$PGDATA/pg_hba.conf文件中常见写法如下# 本地连接仅限开发测试—— 可以使用 trustlocalall postgres trust# 本地 IPv4 连接必须走密码—— 必须使用 scram-sha-256hostall all127.0.0.1/32 scram-sha-256# 远程应用连接生产环境—— 强制使用 scram-sha-256hostall app_user192.168.1.0/24 scram-sha-256 建议如果是为了解决连接报错比如no pg_hba.conf entry尽量不要为了省事设置成 trust除非你确定只有你自己能连且极看重方便。安全底线从 PostgreSQL 15 开始官方甚至移除了对明文密码 password 方法的默认推荐全力导向 scram-sha-256。请务必将生产环境数据库的 pg_hba.conf 配置为 scram-sha-256。如果你在运维中需要快速排查可以通过查询pg_hba_file_rules视图来确认当前生效的认证规则SELECT*FROMpg_hba_file_rules;

相关新闻

ChatGPT称Sam Altman是骗子事件背后的LLM技术原理分析

ChatGPT称Sam Altman是骗子事件背后的LLM技术原理分析

最近AI圈有个挺有意思的话题:ChatGPT居然称自己的CEO Sam Altman是"骗子",这个事件在社交媒体上引发了不少讨论。作为OpenAI的创始人和CEO,Sam Altman一直是ChatGPT项目的核心推动者,现在却被自家AI"吐槽"&am…

2026/7/15 19:00:05阅读更多 →
FPD-Link III到CSI-2转换:DS90UB962-Q1时序、时钟与PCB设计实战

FPD-Link III到CSI-2转换:DS90UB962-Q1时序、时钟与PCB设计实战

1. 项目概述:从数据手册到工程实践如果你正在设计一个多摄像头系统,比如用于环视泊车或者自动驾驶感知,那么你大概率绕不开德州仪器(TI)的FPD-Link III串行器/解串器(SerDes)芯片组。DS90UB962-…

2026/7/15 19:00:05阅读更多 →
多维聚合核心原理与Data Manipulation实战指南

多维聚合核心原理与Data Manipulation实战指南

1. 项目概述:当数据不再是一张“平铺直叙”的表格你有没有遇到过这样的场景:销售部门要按季度、按区域、按产品大类看毛利,同时还要对比去年同期;财务团队需要把成本拆解到“部门-项目-费用类型-发生月份”四个维度,再…

2026/7/15 18:55:05阅读更多 →
基于STM32单片机智能窗户窗帘晾衣架雨滴无线蓝牙WiFi视频监控APP设计DIY-T045

基于STM32单片机智能窗户窗帘晾衣架雨滴无线蓝牙WiFi视频监控APP设计DIY-T045

本系统由STM32F103C8T6单片机核心板、二相四线步进电机滑台模块、按键、LED控制、(无线蓝牙/WIFI模块-可选)、雨滴液滴检测、光敏采集及电源组成。注意视频监控及WIFI套餐才拥有视频监控(含WIFI功能)!【1】该系统通过模式按键可以控制,设备处…

2026/7/15 21:00:14阅读更多 →
基于STM32单片机气象站环境检测风速风向光照无线蓝牙WiFi视频监控APP设计DIY-T043X

基于STM32单片机气象站环境检测风速风向光照无线蓝牙WiFi视频监控APP设计DIY-T043X

本系统由STM32F103C8T6单片机核心板、TFT1.44寸彩屏液晶显示电路、风速传感器接口电路、风向传感器接口电路DHT11温湿度采集电路、光照采集电路、(无线蓝牙/WIFI模块-可选)、按键电路及电源组成。注意视频监控及WIFI套餐才拥有视频监控(含WIFI功能)!【1】…

2026/7/15 21:00:14阅读更多 →
合同条款智能解析实战指南(含NDA/SLA/保密协议3大高频场景拆解)

合同条款智能解析实战指南(含NDA/SLA/保密协议3大高频场景拆解)

更多请点击: https://codechina.net 第一章:合同条款智能解析的底层逻辑与技术边界 合同条款智能解析并非简单的关键词匹配或规则堆砌,其本质是语义理解、领域知识建模与法律推理能力的协同产物。底层依赖于多层级语言表征——从词法切分、依…

2026/7/15 21:00:14阅读更多 →
ABAP 里没有 NgClass,但每一种 SAP UI 技术都有自己的条件化呈现机制

ABAP 里没有 NgClass,但每一种 SAP UI 技术都有自己的条件化呈现机制

在一个采购订单审批页面里,订单处于拒绝状态时,拒绝原因字段需要显示并允许输入,订单已经批准时,这个字段需要变成只读或直接隐藏,逾期订单还要用醒目的语义颜色标出来。放在 Angular 里,我们很自然会想到 NgClass。放在 ABAP 世界里,问题就不能只问有没有同名关键字,而…

2026/7/15 21:00:14阅读更多 →
从零实现C++高性能异步日志库:架构设计与性能优化实战

从零实现C++高性能异步日志库:架构设计与性能优化实战

1. 项目概述:为什么我们要亲手打造一个C日志工具?在C开发的世界里,日志工具就像程序员的“黑匣子”和“听诊器”。无论是调试一个深夜突发的线上崩溃,还是分析一个性能瓶颈的根源,一个可靠的日志系统往往是解决问题的第…

2026/7/15 21:00:14阅读更多 →
短剧翻译SOP标准流程实测:5步走完一部剧的标准动作

短剧翻译SOP标准流程实测:5步走完一部剧的标准动作

短剧出海译制没有"随便试试"的空间,实测梳理出一套可复用的5步SOP:字幕提取→翻译→配音→字幕擦除→审核导出,每一步都有明确的标准动作和验收标准。 很多团队在启动短剧出海项目时,是"边做边摸索"&#xf…

2026/7/15 20:55:13阅读更多 →
VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异

VSCode TypeScript 环境配置对比:全局安装 vs 项目本地安装的4个关键差异当你在VSCode中启动一个新的TypeScript项目时,第一个技术决策往往从安装方式开始。这个看似简单的选择——全局安装还是项目本地安装——实际上会深刻影响你的开发流程、团队协作和…

2026/7/15 6:42:19阅读更多 →
智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手

智慧树刷课插件:5分钟实现自动化学习的智能助手 【免费下载链接】zhihuishu 智慧树刷课插件,自动播放下一集、1.5倍速度、无声 项目地址: https://gitcode.com/gh_mirrors/zh/zhihuishu 智慧树刷课插件是一款专为智慧树在线教育平台设计的Chrome浏…

2026/7/15 6:12:45阅读更多 →
Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案

Steam创意工坊下载器WorkshopDL:跨平台游戏模组获取的终极解决方案 【免费下载链接】WorkshopDL WorkshopDL - The Best Steam Workshop Downloader 项目地址: https://gitcode.com/gh_mirrors/wo/WorkshopDL 你是否在GOG或Epic Games Store购买了心仪的游戏…

2026/7/15 10:54:00阅读更多 →
AI框架决定企业AI能走多远

AI框架决定企业AI能走多远

企业AI建设的第一性原理 企业搞AI,最关键的决定是什么?不是选哪家大模型,不是先做哪个场景,不是招多少AI人才——而是选哪个AI开发框架。 为什么?因为框架决定了企业AI能力的"天花板"。选对了框架&#xff0…

2026/7/15 0:01:30阅读更多 →
Java企业为什么需要AI框架

Java企业为什么需要AI框架

Java企业在AI时代的尴尬处境 Java是全球企业级应用开发的主流语言——全球超过一半的企业系统跑在Java上。但在AI浪潮面前,很多Java企业感到尴尬:大模型的接口是各种语言的,AI开发社区以其他语言为主流,似乎Java在AI时代"掉队…

2026/7/15 0:01:30阅读更多 →
CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

CC3230x嵌入式开发实战:SD主机、定时器与低功耗模式深度解析

1. 项目概述:为什么需要关注CC3230x的SD主机、定时器与低功耗?在物联网和嵌入式设备开发领域,我们常常面临一个核心矛盾:设备需要具备强大的连接能力、可靠的数据存储和实时控制功能,同时又必须严格控制功耗以延长电池…

2026/7/15 0:01:30阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/15 15:50:47阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/15 8:52:38阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/15 14:06:23阅读更多 →