This is one of the examples provided by the package:
# # Duplicates pam_permit.c # DEFAULT_USER = "nobody" def pam_sm_authenticate(pamh, flags, argv): try: user = pamh.get_user(None) except pamh.exception, e: return e.pam_result if user == None: pam.user = DEFAULT_USER return pamh.PAM_SUCCESS def pam_sm_setcred(pamh, flags, argv): return pamh.PAM_SUCCESS def pam_sm_acct_mgmt(pamh, flags, argv): return pamh.PAM_SUCCESS def pam_sm_open_session(pamh, flags, argv): return pamh.PAM_SUCCESS def pam_sm_close_session(pamh, flags, argv): return pamh.PAM_SUCCESS def pam_sm_chauthtok(pamh, flags, argv): return pamh.PAM_SUCCESS
Assuming it and pam_python.so
are in the directory /lib/security
adding these rules to /etc/pam.conf
would run it:
login account requisite pam_python.so pam_accept.py login auth requisite pam_python.so pam_accept.py login password requisite pam_python.so pam_accept.py login session requisite pam_python.so pam_accept.py