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