跳过导航链接 | |
退出打印视图 | |
Oracle Solaris 管理:安全服务 Oracle Solaris 11 Information Library (简体中文) |
在本示例中,您想知道 KDC 是否要求预验证,如果要求,支持哪些预验证类型。首先,以特权用户的身份创建一个 D 程序源文件,如下所示:
# cat kerberos_preauth.d kerberos$target:::krb_error-read { self->preauth = args[1]->kerror_error_code == "KDC_ERR_PREAUTH_REQUIRED(25)" ? "required" : "not required"; printf(" - Preauthentication is %s for this KDC.\n", self->preauth); } kerberos$target:::krb_error-read / self->preauth == "required" / { printf(" - This KDC supports the following preauth types: %s.", args[1]->kerror_e_data); }
接下来,编译 preauth.d 源文件以获得答案。
# dtrace -qs kerberos_preauth.d -c "kinit -k" - Preauthentication is required for this KDC. - This KDC supports the following preauth types: ENC_TIMESTAMP(2) FX_FAST(136) PK_ETYPE_INFO2(19) SAM_RESPONSE(13) FX_COOKIE(133).
有关各种预验证类型的更多信息,请参见 RFC 4120。