Do guia do administrador do PAM:
substackInclude all lines of given type from the configuration file specified as an argument to this control. This differs from
includein that evaluation of the done and die actions in a substack does not cause skipping the rest of the complete module stack, but only of the substack.
Ao ler sua pergunta, parece que você está procurando include e não substack . Portanto, você provavelmente deve substituir ...
auth substack krb5ldap-cache-auth
com ...
auth include krb5ldap-cache-auth
No entanto, em um sistema Debian, você pode ter que usar isto:
@include krb5ldap-cache-auth
Além disso, em sistemas e derivativos RedHat, você pode até ter que usar pam_stack , que geralmente é considerado obsoleto (acredito que devido a problemas no manuseio incluam recursões):
auth requisite pam_stack.so service=krb5ldap-cache-auth
Nesses casos, se algo desencadeia uma ação done ou die em krb5ldap-cache-auth , o PAM colocará um fim na pilha inteira , e não apenas na sub-pilha.