PAM_Extern
This is a PAM module that hands the username and password to an external application or shellscript for further handling. The theory is that while a lot of people might be able to create authentication schemes, few are are able to do so using C and the PAM library.