系统管理指南:安全性服务

Kerberos 票证管理

本节介绍如何获取、查看和销毁票证。有关票证的介绍,请参见Kerberos 服务的工作方式

是否需要担心票证?

安装任何 SEAM 发行版或 Solaris 10 发行版后,Kerberos 便内置在 login 命令中,并且您将在登录时自动获取票证。通常,由于会将基于 Kerberos 的命令 rshrcprdisttelnetrlogin 设置为将票证副本转发到其他计算机,因此您不必显式请求票证来访问这些计算机。配置中可能不包括此自动转发,但这是缺省行为。有关转发票证的更多信息,请参见基于 Kerberos 的命令概述转发 Kerberos 票证

有关票证生命周期的信息,请参见票证生命周期

创建 Kerberos 票证

通常,如果 PAM 配置正确,则会在登录时自动创建票证,并且无需执行任何特殊操作即可获取票证。但是,如果票证到期,则可能需要创建票证。另外,可能还需要使用缺省主体以外的其他主体,例如,如果使用 rlogin -l 以其他人的身份登录到计算机。

要创建票证,请使用 kinit 命令。


% /usr/bin/kinit

 

kinit 命令将提示您输入口令。有关 kinit 命令的完整语法,请参见 kinit(1) 手册页。

示例-创建 Kerberos 票证

本示例说明用户 jennifer 如何在自己的系统上创建票证。


% kinit

Password for jennifer@ENG.EXAMPLE.COM:  <Type password>

 

在以下示例中,用户 david 使用 -l 选项创建了一个有效期为三个小时的票证。


% kinit -l 3h david@EXAMPLE.ORG

Password for david@EXAMPLE.ORG:  <Type password>

 

本示例说明用户 david 如何使用 -f 选项为其自身创建可转发票证。例如,该用户可以使用此可转发票证登录到第二个系统,然后 telnet 到第三个系统。


% kinit -f david@EXAMPLE.ORG

Password for david@EXAMPLE.ORG:     <Type password>

 

有关转发票证如何工作的更多信息,请参见转发 Kerberos 票证票证类型

查看 Kerberos 票证

并非所有票证都相同。例如,一个票证可能是可转发票证,另一个票证则可能是以后生效的票证,而第三个票证既可能是可转发票证,又可能是以后生效的票证。使用带有 -f 选项的 klist 命令,可以查看所拥有的票证以及这些票证的属性:


% /usr/bin/klist -f

以下符号表示与每个票证关联的属性,如 klist 输出所示:

A

已预验证

D

可以后生效

d

以后生效

F

可转发

f

已转发

I

初始

i

无效

P

可代理

p

代理

R

可更新

票证类型介绍了票证可以具有的各种属性。

示例-查看 Kerberos 票证

本示例说明用户 jennifer 拥有一个初始票证,该票证是可转发 (F) 和以后生效的 (d) 票证,但尚未经过验证 (i)。


% /usr/bin/klist -f

Ticket cache: /tmp/krb5cc_74287

Default principal: jennifer@ENG.EXAMPLE.COM

 

Valid starting                 Expires                 Service principal

09 Mar 04 15:09:51  09 Mar 04 21:09:51  nfs/EXAMPLE.SUN.COM@EXAMPLE.SUN.COM

        renew until 10 Mar 04 15:12:51, Flags: Fdi

 

以下示例说明用户 david 拥有两个从另一台主机转发 (f) 到其主机的票证。这些票证也是可转发 (F) 票证。


% klist -f

Ticket cache: /tmp/krb5cc_74287

Default principal: david@EXAMPLE.SUN.COM

 

Valid starting                 Expires                 Service principal

07 Mar 04 06:09:51  09 Mar 04 23:33:51  host/EXAMPLE.COM@EXAMPLE.COM

        renew until 10 Mar 04 17:09:51, Flags: fF

 

Valid starting                 Expires                 Service principal

08 Mar 04 08:09:51  09 Mar 04 12:54:51  nfs/EXAMPLE.COM@EXAMPLE.COM

        renew until 10 Mar 04 15:22:51, Flags: fF

以下示例说明如何使用 -e 选项显示会话密钥和票证的加密类型。如果名称服务可以执行转换操作,则可使用 -a 选项将主机地址映射至主机名。


% klist -fea

Ticket cache: /tmp/krb5cc_74287

Default principal: david@EXAMPLE.SUN.COM

 

Valid starting                 Expires                 Service principal

07 Mar 04 06:09:51  09 Mar 04 23:33:51  krbtgt/EXAMPLE.COM@EXAMPLE.COM

        renew until 10 Mar 04 17:09:51, Flags: FRIA

        Etype(skey, tkt): DES cbc mode with RSA-MD5, DES cbc mode with CRC-32

        Addresses: client.example.com

销毁 Kerberos 票证

如果要销毁在当前会话期间获取的所有 Kerberos 票证,请使用 kdestroy 命令。该命令可销毁凭证高速缓存,从而销毁所有凭证和票证。虽然通常不必销毁凭证高速缓存,但运行 kdestroy 可减少您未登录期间凭证高速缓存遭受破坏的机会。

要销毁票证,请使用 kdestroy 命令。


% /usr/bin/kdestroy

kdestroy 命令将销毁所有票证。不能使用此命令来有选择性地销毁特定票证。

如果要离开系统而又担心入侵者会使用您的权限,则应使用 kdestroy 或用于锁定屏幕的屏幕保护程序。