↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 7.0 / 6.4
历史版本。 PostgreSQL 7.0 已结束支持。 请参阅 当前版本手册.

23.4. Kerberos 认证

Kerberos是一种工业标准的安全认证系统,适合在公共网络上进行分布式计算。

23.4.1. 可用性

Kerberos 认证系统并不随Postgres一起发行。Kerberos的各个版本通常以操作系统厂商的可选软件的形式提供。此外,还可以通过 MIT Project Athena 获取源码发行版。

注意

即使你的厂商提供了某个版本,你也可能希望获取 MIT 版本,因为有些厂商的移植版本被故意削弱或弄得与 MIT 版本无法互操作。

位于美国和加拿大之外的用户请注意,Kerberos中实际加密代码的分发受美国政府出口法规的限制。

关于Kerberos的询问应当指向你的厂商或 MIT Project Athena。注意,FAQL(常见问题列表)会定期张贴到 Kerberos邮件列表(发送邮件订阅)和USENET 新闻组。

23.4.2. 安装

Kerberos本身的安装在 Kerberos 安装说明中有详细介绍。请确保服务器密钥文件(srvtab或 keytab)能被Postgres 账户以某种方式读取。

通过把文件src/Makefile.global中的 KRBVERS变量设置为适当的值,Postgres及其客户端可以编译为使用 MIT Kerberos协议的版本 4 或版本 5。你还可以更改Postgres期望找到相关库、头文件和它自己的服务器密钥文件的位置。

编译完成后,必须把Postgres 注册为一个Kerberos 服务。关于注册服务的更多细节,请参阅 Kerberos 操作说明及相关的手册页。

23.4.3. 操作

初次安装之后,Postgres 在各方面都应当像正常的 Kerberos服务一样运行。关于认证使用的细节,请参阅postmaster和 psql的 PostgreSQL 用户指南参考章节。

在Kerberos版本 5 的钩子中,对用户和服务命名做了以下假设:

  • 假定用户主体名(aname)的第一个组件中包含实际的 Unix/Postgres用户名。

  • 假定Postgres服务有两个组件,即服务名和一个主机名,主机名按版本 4 的方式规范化(即去掉所有域名后缀)。

表 23.1. Kerberos 参数示例

参数 示例
user frew@S2K.ORG
user aoki/HOST=miyu.S2K.Berkeley.EDU@S2K.ORG
host postgres_dbms/ucbvax@S2K.ORG


在 MIT 发布版本 5 的正式版本之后的某个时候,将不再支持版本 4。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.