如果您必须给予某人访问,使其可以登录到您的帐户 (以您的身份), 您借助 Kerberos, 而不透露您的口令就可以办到,通过在您的主目录中放置一个 .k5login 文件。 .k5login 文件是一个或多个 Kerberos 授权对象的一个列表,与您想向其授予访问的每个人相对应。(每个授权对象必须在单独一行上。)
假设用户 david 在其主目录保留有一个 .k5login 文件,该文件看似如下:
jennifer@ENG.ACME.COM joe@ACME.ORG |
该文件允许用户 jennifer 和 joe 假借 david的身份,条件是他们业已在其各自的区域内,拥有 Kerberos 票券。例如, jennifer 可以 rlogin 到 david的机器 (boston), 以他的身份,而不必给出他的口令:
(在 david的主目录是由 NFS 使用 Kerberos V5 协议,从另一 (第三个) 机器进行装配的情形下, jennifer 必须拥有一个可转发票券,以便可以访问他的主目录。请参见"如何创建一个票券",了解关于使用可转发票券的一个示例。)
如果您将跨越网络登录到其它的机器,则您将需要在这些机器上的 .k5login 文件中包含您自己的 Kerberos 授权对象。
使用一个 .k5login 文件要比给出您的口令安全得多:
任何时候您都可以通过从您的 .k5login 文件去除授权对象,将访问撤销。
尽管您的主目录中的 .k5login 文件中所命名的用户,在该机器 (或成套的机器,如果 .k5login 文件是共享的,例如跨越 NFS) 上对您的帐户拥有完全的访问,他们并不继承您的网络特权 - 即,任何 Kerberized 服务授权访问时,均将基于该用户的身份,而不是您的身份。因此 jennifer 可以登录到 joe 的机器并在那里进行任务,但如果她使用一个 Kerberized 程序,诸如 ftp 或 rlogin,则她以她自己的身份进行。
Kerberos 对谁获得票券保留有一个日志,因而如有必要,一个系统管理员就可以找出,谁能够在某一具体时间使用您的用户身份。
使用 .k5login 文件的一个常见的方法就是将其放在 root 的主目录,将对该机器的 root 访问给予所列出的 Kerberos 授权对象。这允许系统管理员在本地变为 root,或者以 root 的身份远程进行登录,而不必给出 root 口令,且任何人都不必跨越网络键入 root 口令。
假设 jennifer 决定作为 root 登录到机器 boston.acme.com。因为她在 boston.acme.com 上 root的主目录中的 .k5login 中,拥有一个针对她的授权对象名称的条目,她又不必键入她的口令了:
% rlogin boston.acme.com -l root -x 这一 rlogin 对话正在将 DES 加密用于所有的数据传输。 最近登录: Thu Jun 20 16:20:50 从 daffodil SunOS 发行版 5.7 (类属) #2:Tue Nov 14 18:09:31 EST 1998 boston[root]% |