Kerberos 认证

Kerberos (译注:这是古希腊神话里的一条多头狗。)是一种适用于在公共网络上进行分布计算的工业标准的安全认证系统.

如何获得

Kerberos 认证系统不是随着 Postgres 发布的.Kerberos 的各种版本通常是操作系统中的一个可选的软件包.另外,可以从 MIT 雅典娜计划 处获得源码.
注意:即使你的操作系统供应商给你提供了一个版本,你可能还是要从 MIT 拿一个版本,因为有些供应商的版本是经过有意的弱化的或者和 MIT 版本不能互操作.
在美国和加拿大以外的地区的用户需要知道发布版里Kerberos 的实际代码是受到美国政府出口法规约束的版本.

有关你的 Kerberos 的问题应该向你的供应商或 MIT 雅典娜计划 询问.要注意 FAQL (常见问题列表Frequently-Asked Questions Lists)经常张贴在 Kerberos邮件列表发送请求邮件), 和 USENET 新闻组

安装

Kerberos 的安装在 Kerberos 安装信息 里有详细讨论.确信服务器的密钥文件 (srvtabkeytab)可以被 Postgres 帐户读取.

Postgres 和其客户端可以和 MIT Kerberos 版本 4 或 5 的协议一起编译,只要在文件 src/Makefile.global 里将变量 KRBVERS 设置为合适的值即可.你还可以更改Postgres 需要查找的相关库,头文件和它自己的服务器密钥文件的路径.

在编译完成之后,Postgres 必须作为 Kerberos 服务注册.参阅 Kerberos 操作信息 和相关手册页获取关于注册服务的详细信息.

操作

在初始安装后,Postgres 应该在任何方面都作为一个正常的 Kerberos服务进行运行.关于认证的详细信息,请参考 PostgreSQL 用户手册 关于 postmaster 和 psql 的章节.

在 Kerberos 版本 5 中,对用户和服务的名称做了下面假设:

表 23-1. Kerberos 参数实例
 

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