From 3dfd23ec30a14aa2a781566a3d70c407009fa70c Mon Sep 17 00:00:00 2001 From: Nikolai Kristiansen Date: Wed, 23 Nov 2011 23:10:32 +0100 Subject: [PATCH] Kerberos auth --- main/utils.py | 9 +++++++-- settings-sample.py | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/main/utils.py b/main/utils.py index 2accb1b..7c39a04 100644 --- a/main/utils.py +++ b/main/utils.py @@ -10,7 +10,9 @@ import settings def get_kerberos_principal(username): principal = u"{0}@{1}".format(username, settings.KERBEROS_REALM) - kadmin_query = u"-q get_principal {0}".format(principal) + kadmin_query = u"-p {0} -w {1} -q 'get_principal {2}'".format(settings.KERBEROS_PASSWORD_CHANGING_PRINCIPAL, + settings.KERBEROS_PASSWORD, + principal) p = Popen(['kadmin', kadmin_query], stdout=PIPE) output, error = p.communicate() if error: @@ -27,7 +29,10 @@ def get_kerberos_principal(username): def set_kerberos_password(username, raw_password): principal = u"{0}@{1}".format(username, settings.KERBEROS_REALM) - kadmin_query = u"-q change_password {0} -pw {1}".format(principal, raw_password) + kadmin_query = u"-p {0} -w {1} -q 'change_password {2} -pw {3}'".format(settings.KERBEROS_PASSWORD_CHANGING_PRINCIPAL, + settings.KERBEROS_PASSWORD, + principal, + raw_password) p = Popen(['kadmin', kadmin_query], stdout=PIPE) output, error = p.communicate() if error: diff --git a/settings-sample.py b/settings-sample.py index 7082720..5b1c9aa 100644 --- a/settings-sample.py +++ b/settings-sample.py @@ -165,3 +165,6 @@ logger.setLevel(logging.DEBUG) # Kerberos realm KERBEROS_REALM = "NEUF.NO" +KERBEROS_PASSWORD_CHANGING_PRINCIPAL = 'brukerinfo' +KERBEROS_PASSWORD = '' +