Index: asadb/mit/__init__.py
===================================================================
--- asadb/mit/__init__.py	(revision 08d4fa6744d2785023666d10a1936460811fcdb2)
+++ asadb/mit/__init__.py	(revision b42118cd6022b94dea9b0fa459a8d5a0dace7f98)
@@ -1,4 +1,5 @@
 import os
 import subprocess
+import tempfile
 import ldap
 import ldap.filter
@@ -13,5 +14,5 @@
 from django.core.validators import URLValidator, ValidationError
 
-import settings
+from django.conf import settings
 
 def zephyr(msg, clas='message', instance='log', rcpt='nobody',):
@@ -56,4 +57,16 @@
 def pag_check_output(args, **kwargs):
     return pag_check_helper(subprocess.check_output, args, **kwargs)
+
+def kinit(keytab=None, principal=None, autodelete=True, ):
+    if not keytab:
+        keytab = settings.KRB_KEYTAB
+    if not principal:
+        principal = settings.KRB_PRINCIPAL
+    assert keytab and principal
+    fd = tempfile.NamedTemporaryFile(mode='rb', prefix="krb5cc_djmit_", delete=autodelete, )
+    env = dict(KRB5CCNAME=fd.name)
+    kinit_cmd = ['kinit', '-k', '-t', keytab, principal, ]
+    subprocess.check_call(kinit_cmd, env=env)
+    return fd
 
 class ScriptsRemoteUserMiddleware(RemoteUserMiddleware):
