diff options
author | rcritten@redhat.com <rcritten@redhat.com> | 2007-08-06 10:05:53 -0400 |
---|---|---|
committer | rcritten@redhat.com <rcritten@redhat.com> | 2007-08-06 10:05:53 -0400 |
commit | 993f76fe6035cf59cceb88f3611fc53680738007 (patch) | |
tree | 17bb5afed002709bd322f5fe7e99e473adc1d018 /ipa-server/ipaserver/krbinstance.py | |
parent | 66ab69d0b23da46b21dbb4bf165011f318ec2da8 (diff) | |
download | freeipa.git-993f76fe6035cf59cceb88f3611fc53680738007.tar.gz freeipa.git-993f76fe6035cf59cceb88f3611fc53680738007.tar.xz freeipa.git-993f76fe6035cf59cceb88f3611fc53680738007.zip |
- Abstracted client class to work directly or over RPC
- Add mod_auth_kerb and cyrus-sasl-gssapi to Requires
- Remove references to admin server in ipa-server-setupssl
- Generate a client certificate for the XML-RPC server to connect to LDAP with
- Create a keytab for Apache
- Create an ldif with a test user
- Provide a certmap.conf for doing SSL client authentication
- Update tools to use kerberos
- Add User class
Diffstat (limited to 'ipa-server/ipaserver/krbinstance.py')
-rw-r--r-- | ipa-server/ipaserver/krbinstance.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/ipa-server/ipaserver/krbinstance.py b/ipa-server/ipaserver/krbinstance.py index 253c506f..f4fe6001 100644 --- a/ipa-server/ipaserver/krbinstance.py +++ b/ipa-server/ipaserver/krbinstance.py @@ -28,6 +28,7 @@ from time import gmtime import os import pwd import socket +import time from util import * def host_to_domain(fqdn): @@ -82,6 +83,8 @@ class KrbInstance: self.__create_ds_keytab() + self.__create_http_keytab() + self.__create_sample_bind_zone() self.start() @@ -175,3 +178,18 @@ class KrbInstance: cfg_fd.close() pent = pwd.getpwnam(self.ds_user) os.chown("/etc/sysconfig/fedora-ds", pent.pw_uid, pent.pw_gid) + + def __create_http_keytab(self): + (kwrite, kread, kerr) = os.popen3("/usr/kerberos/sbin/kadmin.local") + kwrite.write("addprinc -randkey HTTP/"+self.fqdn+"@"+self.realm+"\n") + kwrite.flush() + kwrite.write("ktadd -k /etc/httpd/conf/ipa.keytab HTTP/"+self.fqdn+"@"+self.realm+"\n") + kwrite.flush() + kwrite.close() + kread.close() + kerr.close() + + while not file_exists("/etc/httpd/conf/ipa.keytab"): + time.sleep(1) + pent = pwd.getpwnam("apache") + os.chown("/etc/httpd/conf/ipa.keytab", pent.pw_uid, pent.pw_gid) |