在 Oracle® Solaris 11.2 中管理 Kerberos 和其他验证服务

退出打印视图

更新时间: 2014 年 9 月
 
 

管理密钥表文件

提供服务的每台主机都必须包含一个名为 keytab file(密钥表文件)的本地文件,keytab 是 "key table"(密钥表)的缩写。密钥表包含相应服务的主体,称为 service key(服务密钥)。服务使用服务密钥向 KDC 进行自我验证,并且只有 Kerberos 和服务本身知道服务密钥。例如,如果使用基于 Kerberos 的 NFS 服务器,该服务器必须具有包含 nfs 服务主体的服务密钥的密钥表文件。

要将服务密钥添加到密钥表文件,可在 kadmin 进程中使用 ktadd 命令,将相应的服务主体添加到主机的密钥表文件。要将服务主体添加到密钥表文件,该主体必须已存在于 Kerberos 数据库中。在提供基于 Kerberos 的服务的应用服务器上,密钥表文件的缺省位置为 /etc/krb5/krb5.keytab

密钥表类似于用户的口令。正如用户必须保护其口令一样,应用服务器也必须保护其密钥表文件。应始终将密钥表文件存储在本地磁盘上,并且只允许 root 用户读取这些文件。此外,绝不要通过不安全的网络发送密钥表文件。

在某些特殊情况下,可能需要将 root 主体添加到主机的密钥表文件。如果希望 Kerberos 客户机用户挂载基于 Kerberos 的 NFS 文件系统(需要与 root 等效的访问权限),则必须将客户机的 root 主体添加到客户机的密钥表文件。否则,每当用户要使用 root 权限挂载基于 Kerberos 的 NFS 文件系统时,即使正在使用自动挂载程序,也必须以 root 身份使用 kinit 命令来获取客户机的 root 主体的凭证。


Caution

注意  - root 用户身份挂载 NFS 服务器会引入安全风险。


也可以使用 ktutil 命令管理密钥表文件。使用此交互式命令,可在没有 Kerberos 管理特权的情况下管理本地主机的密钥表文件,因为此命令不会像 kadmin 那样与 Kerberos 数据库交互。将主体添加到密钥表文件后,可使用 ktutil 来查看密钥表文件中的密钥列表,或临时禁用对某个服务的验证。


注 - kadmin 进程中使用 ktadd 命令更改密钥表文件中的主体时,将生成一个新的密钥并将其添加到密钥表文件。