For instructions on how to enable Kerberos Authentication for the Mac OS X 10.2 and Mac OS X Server 10.2, see Information for Using Kerberos.
Post-Login Kerberos Authentication
To configure the Kerberos login plug-in to obtain a Kerberos credential as a consequence of logging in, change the following lines in /etc/authorization:
Change:
<key>system.login.done</key> <dict> <key>eval</key> <string>switch_to_user</string> </dict> <!-- krb5auth:login can be used to do kerberos authentication as a side-effect of logging in. Local username/password will be used. -->
<!-- Do kerberos authentication as a side-effect of logging in. Local username/password will be used. --> <key>system.login.done</key> <dict> <key>eval</key> <string>switch_to_user,krb5auth:login</string> </dict>
<key>system.login.done</key> <dict> <key>class</key> <string>evaluate-mechanisms</string> <key>comment</key> <string>krb5auth:login can be used to do kerberos authentication as a side-effect of logging in. Local username/password will be used.</string> <key>mechanisms</key> <array> <string>switch_to_user</string> <string>builtin:krb5login</string> </array> </dict>
<!-- Login mechanism based rule. Not for general use, yet. --> <key>system.login.console</key> <dict> <key>eval</key> <string>loginwindow_builtin:login,authinternal,loginwindow_builtin:success</string> <!-- krb5auth:authenticate can be used to hinge local authentication on a successful kerberos authentication. --> </dict>
<!-- Local authentication requires a successful kerberos authentication. --> <key>system.login.console</key> <dict> <key>eval</key> <string>loginwindow_builtin:login,krb5auth:authnoverify,loginwindow_builtin:success</string> </dict>
<key>system.login.console</key> <dict> <key>class</key> <string>evaluate-mechanisms</string> <key>comment</key> <string>Login mechanism based rule. Not for general use, yet. krb5auth:authenticate can be used to hinge local authentication on a successful kerberos authentication.</string> <key>mechanisms</key> <array> <string>loginwindow_builtin:login</string> <string>authinternal</string> <string>loginwindow_builtin:success</string> <string>builtin:getuserinfo</string> <string>builtin:krb5auth</string> </array> </dict>
String | Action |
<string>builtin:krb5authenticate</string> | do kerberos authentication, and verify the KDC |
<string>builtin:krb5authnoverify</string> | (For Mac OS X 10.3) do kerberos authentication and skip verifying the KDC |
<string>builtin:krb5authnoverify,privileged</string> | (For Mac OS X 10.4 ) do kerberos authentication and skip verifying the KDC |
<!-- Login mechanism based rule. Not for general use, yet. --> <key>system.login.console</key> <dict> <key>eval</key> <string>loginwindow_builtin:login,authinternal,loginwindow_builtin:success</string> <!-- krb5auth:authenticate can be used to hinge local authentication on a successful kerberos authentication. --> </dict>
To:
<!-- Local authentication requires a successful kerberos authentication. --> <key>system.login.console</key> <dict> <key>eval</key> <string>loginwindow_builtin:login,krb5auth:authenticate,loginwindow_builtin:success</string> </dict>