first commit

This commit is contained in:
Benjamin Dauvergne 2014-05-06 15:06:10 +02:00
commit 0d284fdc6f
1 changed files with 47 additions and 0 deletions

47
pam_django.py Normal file
View File

@ -0,0 +1,47 @@
import syslog
def auth_log(msg):
syslog.openlog(facility=syslog.LOG_AUTH)
syslog.syslog("django_pam: " + msg)
syslog.closelog()
def pam_sm_authenticate(pamh, flags, argv):
auth_log("pam_sm_authenticate")
try:
user = pamh.get_user(None)
except pamh.exception, e:
return e.pam_result
if not user:
return pamh.PAM_USER_UNKNOWN
# this fucking binding didn't support pam_get_pass so we rewrite it
try:
resp = pamh.conversation(pamh.Message(pamh.PAM_PROMPT_ECHO_OFF, 'Password:'))
except pamh.exception, e:
return e.pam_result
password = resp.resp
auth_log("%s %s %s" % (pamh.rhost, user, password))
return pamh.PAM_SUCCESS
def pam_sm_setcred(pamh, flags, argv):
auth_log("pam_sm_setcred")
return pamh.PAM_SUCCESS
def pam_sm_acct_mgmt(pamh, flags, argv):
auth_log("pam_sm_acct_mgmt")
return pamh.PAM_SUCCESS
def pam_sm_open_session(pamh, flags, argv):
auth_log("pam_sm_open_session")
return pamh.PAM_SUCCESS
def pam_sm_close_session(pamh, flags, argv):
auth_log("pam_sm_close_session")
return pamh.PAM_SUCCESS
def pam_sm_chauthtok(pamh, flags, argv):
auth_log("pam_sm_chauthtok")
return pamh.PAM_SUCCESS