diff options
author | Simon Rettberg | 2015-02-09 19:01:00 +0100 |
---|---|---|
committer | Simon Rettberg | 2015-02-09 19:01:00 +0100 |
commit | 91ac8aa9242371457d5d161584d8062adda0e7cb (patch) | |
tree | d0958691a2c10b592e1e83e97581d82411aed266 /src/main/java/org/openslx/taskmanager | |
parent | sshd config (diff) | |
download | tmlite-bwlp-91ac8aa9242371457d5d161584d8062adda0e7cb.tar.gz tmlite-bwlp-91ac8aa9242371457d5d161584d8062adda0e7cb.tar.xz tmlite-bwlp-91ac8aa9242371457d5d161584d8062adda0e7cb.zip |
[CreateAdConfig] Adapt to sssd (instead of nslcd)
Diffstat (limited to 'src/main/java/org/openslx/taskmanager')
-rw-r--r-- | src/main/java/org/openslx/taskmanager/tasks/CreateAdConfig.java | 57 |
1 files changed, 20 insertions, 37 deletions
diff --git a/src/main/java/org/openslx/taskmanager/tasks/CreateAdConfig.java b/src/main/java/org/openslx/taskmanager/tasks/CreateAdConfig.java index c74b9dc..ee3bfb8 100644 --- a/src/main/java/org/openslx/taskmanager/tasks/CreateAdConfig.java +++ b/src/main/java/org/openslx/taskmanager/tasks/CreateAdConfig.java @@ -10,6 +10,7 @@ import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; import org.apache.commons.io.FileUtils; import org.openslx.satserver.util.Archive; import org.openslx.satserver.util.Exec; +import org.openslx.satserver.util.Template; import org.openslx.satserver.util.Util; import org.openslx.taskmanager.api.AbstractTask; @@ -60,6 +61,8 @@ public class CreateAdConfig extends AbstractTask TarArchiveOutputStream outArchive = null; String keyFile = "/opt/ldadp/configs/" + this.moduleid + ".key.pem"; String certFile = "/opt/ldadp/configs/" + this.moduleid + ".crt.pem"; + String uri = "ldaps://" + this.proxyip + ":" + this.proxyport + "/"; + String cacertPath = "/etc/ldap-proxy.pem"; try { // Generate keys { @@ -90,6 +93,16 @@ public class CreateAdConfig extends AbstractTask this.home, certFile, keyFile ); + // Generic ldap config + final Template ldapConf = new Template( "./data/ad/ldap.conf.template" ); + ldapConf.replace( "%URI%", uri ); + ldapConf.replace( "%SEARCHBASE%", this.searchbase ); + ldapConf.replace( "%CACERT%", cacertPath ); + // sssd config + final Template sssdConf = new Template( "./data/ad/sssd.conf.template" ); + sssdConf.replace( "%URI%", uri ); + sssdConf.replace( "%SEARCHBASE%", this.searchbase ); + sssdConf.replace( "%CACERT%", cacertPath ); String fileName = "/opt/ldadp/configs/" + this.moduleid + ".cfg"; try { Files.deleteIfExists( Paths.get( this.filename ) ); @@ -107,41 +120,8 @@ public class CreateAdConfig extends AbstractTask status.error = "Could not create archive at " + this.filename; return false; } - // Generic ldap config - String ldapConf = String - .format( - "URI ldaps://%s:%d/\n" - + "BASE %s\n" - + "BIND_TIMELIMIT 10\n" - + "TIMELIMIT 30\n" - + "TLS_REQCERT demand\n" - + "TLS_CACERT /etc/ldap-proxy.pem\n" - + "nss_base_passwd %s\n" - + "nss_base_group %s\n" - + "nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,dnsmasq,games,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,sync,sys,syslog,usbmux,uucp,whoopsie,www-data\n", - this.proxyip, this.proxyport, - this.searchbase, - this.searchbase, - this.searchbase - ); - // nslcd config - String nslcdConf = String - .format( - "URI ldaps://%s:%d/\n" - + "BASE %s\n" - + "BIND_TIMELIMIT 10\n" - + "TIMELIMIT 30\n" - + "TLS_REQCERT demand\n" - + "TLS_CACERTFILE /etc/ldap-proxy.pem\n" - + "scope sub\n" - + "nss_initgroups_ignoreusers avahi,avahi-autoipd,backup,bin,colord,daemon,dnsmasq,games,gnats,hplip,irc,kernoops,libuuid,lightdm,list,lp,mail,man,messagebus,news,proxy,pulse,root,rtkit,saned,speech-dispatcher,sshd,sync,sys,syslog,usbmux,uucp,whoopsie,www-data\n", - this.proxyip, this.proxyport, - this.searchbase, - this.searchbase, - this.searchbase - ); // The cert we just created - if ( !Archive.tarAddFile( outArchive, "/etc/ldap-proxy.pem", new File( certFile ), 0644 ) ) { + if ( !Archive.tarAddFile( outArchive, cacertPath, new File( certFile ), 0644 ) ) { status.error = "Could not add ldap-proxy.pem to module"; return false; } @@ -163,15 +143,18 @@ public class CreateAdConfig extends AbstractTask status.error = "Could not add mount script to module"; return false; } - boolean ret = Archive.tarCreateFileFromString( outArchive, "/etc/ldap.conf", ldapConf, 0644 ) - && Archive.tarCreateFileFromString( outArchive, "/etc/nslcd.conf", nslcdConf, 0644 ) + boolean ret = Archive.tarCreateFileFromString( outArchive, "/etc/ldap.conf", ldapConf.toString(), 0644 ) + && Archive.tarCreateFileFromString( outArchive, "/etc/sssd/sssd.conf", sssdConf.toString(), 0644 ) && Archive.tarCreateSymlink( outArchive, "/etc/ldap.conf", "/etc/ldap/ldap.conf" ) && Archive.tarCreateSymlink( outArchive, "/etc/ldap.conf", "/etc/openldap/ldap.conf" ) - && Archive.tarCreateSymlink( outArchive, "../nslcd.service", "/etc/systemd/system/basic.target.wants/nslcd.service" ); + && Archive.tarCreateSymlink( outArchive, "../sssd.service", "/etc/systemd/system/basic.target.wants/sssd.service" ); if ( !ret ) { status.error = "Could not add ldap configs to module"; } return ret; + } catch ( IOException e ) { + status.error = e.toString(); + return false; } finally { Util.multiClose( outArchive ); } |