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

退出打印视图

更新时间: 2014 年 9 月
 
 

如何在主机上临时禁用对 Kerberos 服务的验证

ktutil 命令允许不具有 kadmin 特权的用户禁用某个服务。此用户还可以恢复该服务。有关更多信息,请参见 ktutil(1) 手册页。

开始之前

您必须承担 root 角色。有关更多信息,请参见在 Oracle Solaris 11.2 中确保用户和进程的安全 中的使用所指定的管理权限

  1. 将当前密钥表文件保存到临时文件。

    Step 9 中使用此临时文件重新启用验证。

  2. 在包含该密钥表文件的主机上,启动 ktutil 命令。

    注 -  尽管可以创建由其他用户拥有的密钥表文件,但使用密钥表文件的缺省位置需要 root 所有权。
    # /usr/bin/ktutil
  3. 将密钥表文件读入密钥列表缓冲区。
    ktutil: read_kt keytab
  4. 显示密钥列表缓冲区。
    ktutil: list

    此时会显示当前的密钥列表缓冲区。请记下要禁用的服务的槽号。

  5. 通过从密钥列表缓冲区中删除特定服务主体,临时禁用主机的服务。
    ktutil: delete_entry slot-number

    其中 slot-number 指定要从 list 输出中删除的服务主体的槽号。

  6. 将密钥列表缓冲区写到新的密钥表文件。
    ktutil: write_kt new-keytab
  7. 退出 ktutil 命令。
    ktutil: quit
  8. 使用新的密钥表文件禁用主体的验证。
    # mv new-keytab keytab
  9. (u53ef选) 通过将临时密钥表文件复制回其原始位置,重新启用该服务。
    # cp original-keytab keytab
示例 5-18  临时禁用 Kerberos host 服务

在本示例中,临时禁用了 denver 主机上的 host 服务。要在 denver 上重新启用 host 服务,管理员可将已保存的密钥表文件复制回其原始位置。

denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.save
denver # /usr/bin/ktutil
ktutil:read_kt /etc/krb5/krb5.keytab
ktutil:list
slot KVNO Principal
---- ---- ---------------------------------------
1    8 root/denver@EXAMPLE.COM
2    5 host/denver@EXAMPLE.COM
ktutil:delete_entry 2
ktutil:list
slot KVNO Principal
---- ---- --------------------------------------
1    8 root/denver@EXAMPLE.COM
ktutil:write_kt /etc/krb5/nodenverhost.krb5.keytab
ktutil: quit
denver # cp /etc/krb5/nodenverhost.krb5.keytab /etc/krb5/krb5.keytab

用户将已保存的文件复制回其原始位置之前,host 服务将不可用。

denver # cp /etc/krb5/krb5.keytab.save /etc/krb5/krb5.keytab