This function takes a local user name and verifies if principal is allowed to log in as that user.
First krb5_kuserok check if there is a local account name username. If there isnt, krb5_kuserok returns FALSE.
Then krb5_kuserok checks if principal is the same as user@realm in any of the default realms. If that is the case, krb5_kuserok returns TRUE.
After that it reads the file .k5login (if it exists) in the users home directory and checks if principal is in the file. If it does exists, TRUE is returned. If neither of the above turns out to be true, is returned.
The .k5login should contain one principal per line.
krb5_get_default_realms(3), krb5_verify_user(3), krb5_verify_user_lrealm(3), krb5_verify_user_opt(3,) krb5.conf(5)