diff --git a/hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java b/hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java index b934bf1..273cb95 100644 --- a/hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java +++ b/hsarback/src/de/hsadmin/mods/pac/PacProcessorFactory.java @@ -66,6 +66,7 @@ public class PacProcessorFactory implements EntityProcessorFactory { Processor hostsAppender = new TemplateProcessor("/de/hsadmin/mods/pac/hosts.jtpl", hiveValues, pacValuesList.iterator(), "/etc/hosts", true); Processor interfacesAppender = new TemplateProcessor("/de/hsadmin/mods/pac/interfaces.jtpl", hiveValues, pacValuesList.iterator(), "/etc/network/interfaces", true); Processor sudoersAppender = new TemplateProcessor("/de/hsadmin/mods/pac/sudoers.jtpl", hiveValues, pacValuesList.iterator(), "/etc/sudoers", true); + Processor ftpdconfAppender = new TemplateProcessor("/de/hsadmin/mods/pac/proftpd-conf.jtpl", hiveValues, pacValuesList.iterator(), "/etc/proftpd/proftpd.conf", true); String password = PwGenerator.generatePassword(7, flagBuilder.build(), 100, random); Processor newUsersProc = new ShellProcessor( "newusers", pacName + ":" + password + ":" @@ -98,7 +99,13 @@ public class PacProcessorFactory implements EntityProcessorFactory { "Zugangsdaten des neue Hostsharing Pakets " + pacName, template.out()) ); - Processor priProcessor = new CompoundProcessor(newUsersProc, hostsAppender, interfacesAppender, sudoersAppender, mkdirsProc); + Processor priProcessor = new CompoundProcessor( + newUsersProc, + hostsAppender, + interfacesAppender, + sudoersAppender, + ftpdconfAppender, + mkdirsProc); WaitingTasksProcessor secProcessor = new WaitingTasksProcessor(priProcessor); secProcessor.appendProcessor(pac.getHiveName(), emailPasswordProc, "send email to customer"); return secProcessor; diff --git a/hsarback/src/de/hsadmin/mods/pac/proftpd-conf.jtpl b/hsarback/src/de/hsadmin/mods/pac/proftpd-conf.jtpl new file mode 100644 index 0000000..608493e --- /dev/null +++ b/hsarback/src/de/hsadmin/mods/pac/proftpd-conf.jtpl @@ -0,0 +1,89 @@ +# This proftpd config file is generated by hsadmin. + +Include /etc/proftpd/modules.conf + +ServerName "Hostsharing eG" +ServerType standalone +DeferWelcome off +UseIPv6 off +UseReverseDNS off +IdentLookups off + +ShowSymlinks on +MultilineRFC2228 on +DefaultServer on +ShowSymlinks on +AllowOverwrite on + +RequireValidShell off +DefaultRoot ~ +AllowForeignAddress on + +TimeoutNoTransfer 900 +TimeoutStalled 900 +TimeoutIdle 1800 + +DisplayLogin welcome.msg +ListOptions "-la" + +DenyFilter \*.*/ + +Port 21 +MaxInstances 128 +User nobody +Group nogroup + +LoadModule mod_tls.c +TLSEngine on +TLSProtocol SSLv23 TLSv1 +TLSRequired off +TLSVerifyClient off +TLSRSACertificateFile /etc/proftpd/ftp-cert.pem +TLSRSACertificateKeyFile /etc/proftpd/ftp-key.pem +TLSCertificateChainFile /etc/proftpd/ftp-chain.pem + +LogFormat default "%h %l %u %t \"%r\" %s %b" +LogFormat auth "%v [%P] %h %t \"%r\" %s" +LogFormat write "%h %l %u %t \"%r\" %s %b" + +DelayEngine off + +PassivePorts 60000 65534 + + + Umask 022 022 + AllowOverwrite on + + + +#---------------------------------------------------------------------- +# {PAC}.hostsharing.net + + DefaultRoot ~ {PAC} + ServerName "Hostsharing eG" + AllowOverwrite on + AllowForeignAddress on + RequireValidShell off + + + Order allow,deny + AllowGroup {PAC} + DenyAll + + + User {PAC} + Group {PAC} + UserAlias anonymous {PAC} + UserAlias ftp {PAC} + DirFakeUser on ftp + DirFakeGroup on ftp + DirFakeMode 000 + AuthAliasOnly on + + DenyAll + + + + + + \ No newline at end of file