在建立血腥企业的过程中,我自己了解到授权类型的顺序会影响基地的行为。
如果方法是 trustedafter md5,那么它会取消没有密码的登录。
具有匹配连接类型、客户端地址、请求的数据库和用户名的第一条记录用于执行身份验证。没有“fall-through”或“backup”:如果选择了一条记录并且认证失败,则不考虑后续记录。如果没有记录匹配,则拒绝访问。
如何跟踪选择了哪些授权方法?
链接
在建立血腥企业的过程中,我自己了解到授权类型的顺序会影响基地的行为。
如果方法是 trustedafter md5,那么它会取消没有密码的登录。
具有匹配连接类型、客户端地址、请求的数据库和用户名的第一条记录用于执行身份验证。没有“fall-through”或“backup”:如果选择了一条记录并且认证失败,则不考虑后续记录。如果没有记录匹配,则拒绝访问。
如何跟踪选择了哪些授权方法?
链接
hba处理代码似乎不会将相关信息导出到 stats 收集器或数据库日志中。虽然 pg_hba 文件的行号存储在 HbaLine 结构中。是的,只检查与连接类型、用户名、基数和连接地址匹配的第一个字符串。因此,请用眼睛检查规则。
ClientAuthentication_hook回调函数中提供了所需的信息。将模块auth_delay视为为这个特定回调函数编写扩展的一个非常简短的示例。(但是是的,这仅适用于编译语言,它们不会让您在血腥的企业中获得那样的乐趣)或者,您可以写一封信,
pgsql-hackers说明需要并提出将这些信息保存在某处的建议。例如,在日志中启用时log_connections,它可能会非常合适,可能在一个errdetail部分中。