Uitleg scripts: Difference between revisions

From Hobbynet Admin Wiki
Jump to navigation Jump to search
Line 136: Line 136:


===mailman_aliases.txt===
===mailman_aliases.txt===
Dit bestand heeft een identieke lay-out als '''extra_aliases.txt''' maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende '''gen_<groep>_alias''' in de '''.../bin''' gemaakt te worden. Netter zou zijn alle bestanden in een '''aliases.d''' directory te lezen maar dat is een idee voor de toekomst.
Dit bestand heeft een identieke lay-out als '''extra_aliases.txt''' maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende '''gen_<groep>_alias''' in de '''.../bin''' gemaakt te worden.
 
===scouthout_aliases.txt===
===scouthout_aliases.txt===
Dit bestand heeft een identieke lay-out als '''extra_aliases.txt''' maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende '''gen_<groep>_alias''' in de '''.../bin''' gemaakt te worden. Netter zou zijn alle bestanden in een '''aliases.d''' directory te lezen maar dat is een idee voor de toekomst.
Dit bestand heeft een identieke lay-out als '''extra_aliases.txt''' maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende '''gen_<groep>_alias''' in de '''.../bin''' gemaakt te worden. Netter zou zijn alle bestanden in een '''aliases.d''' directory te lezen maar dat is een idee voor de toekomst.

Revision as of 16:31, 5 December 2010

Introductie

De scripting is er op gericht een aantal tabellen toe te voegen aan de postfixadmin database. De tabellen zijn helemaal standaard gehouden zoals postfixadmin ze aanmaakt bij de installatie. Postfixadmin kan worden gebruikt om veranderingen aan te brengen.

Locatie van de bestanden

De bron bestanden: b3a.txt en b3n.txt, extra_alias_domains.txt, extra_aliases.txt, scouthout_aliases.txt en de _header/_footer bestanden (.tmpl) staan in /usr/local/hobbynet/lib directory. De scripts staan in /usr/local/hobbynet/bin. De backups komen in /usr/local/hobbynet/lib/backup terecht en de gegenereerde MySQL bestanden komen in /usr/local/hobbynet/lib/loader

Scripts

De (perl) scripts zijn bewust kort en simpel gehouden om ze zo modulair mogelijk te maken. De tactiek is telkens hetzelfde: bij elk SQL loader bestand is er een header, tussenliggende gelijksoortige data regels en een footer te onderscheiden.

  • De header is alle tekst die door een MySQL dump gemaakt wordt (met een delete-if-exists erin), tot en met de eerste SQL regel: INSERT INTO...VALUES.
  • De diverse scripts voegen de tussenliggende data regels toe.
  • De footer is gewoonlijk een laatste data regel maar dan eindigend op ; in plaats van , en de afsluitende regels van de dump.

upd_smail

Dit script is het overkoepelende script dat alle gen_* scripts op zijn beurt aanroept en mysql om de database te laden. upd_smail op zijn beurt wordt weer door upd_all aangeroepen. In dit upd_smail script worden vóórdat de tabellen vanaf scratch worden opgebouwd, de 4 tabellen veilig gesteld in een backup directory. Het uitgangspunt is hier dat de database de echte waarheid is en de bronbestanden achter kunnen lopen. Terugladen van de oude tabellen is dan toch mogelijk en kunnen de bronbestanden bijgewerkt worden. Per tabel worden de SQL header files samengevoegd met de output van de verschillende gen_* scripts. Tenslotte wordt een SQL footer toegevoegd, vaak alleen om de SQL te beëindigen met een ;. Daarna wordt de tabel in MySQL aangemaakt en de data geladen. De tabellen worden dus in z'n geheel vervangen. Als laatste wordt een soort van alias bestand voor Roundcube gemaakt. Hieronder de complete upd_smail:

#!/bin/sh
#

CHOWN=/bin/chown
CHMOD=/bin/chmod

HNET=/usr/local/hobbynet
HNET_BIN=$HNET/bin
HNET_LIB=$HNET/lib
HNET_BCK=$HNET/lib/backup
HNET_LDR=$HNET/lib/loader

cd $HNET_LIB

echo $1
#
# save all 4 tables with unique name
#
mysqldump -u postfixadmin -pvFSQiD7uRyaF -c postfixadmin mailbox >$HNET_BCK/mailbox_$(date +"%Y%m%d-%H%M%S").sql
mysqldump -u postfixadmin -pvFSQiD7uRyaF -c postfixadmin alias >$HNET_BCK/alias_$(date +"%Y%m%d-%H%M%S").sql
mysqldump -u postfixadmin -pvFSQiD7uRyaF -c postfixadmin domain >$HNET_BCK/domain_$(date +"%Y%m%d-%H%M%S").sql
mysqldump -u postfixadmin -pvFSQiD7uRyaF -c postfixadmin alias_domain >$HNET_BCK/alias_domain_$(date +"%Y%m%d-%H%M%S").sql
#
# save scouthout aliases
#
echo "Saving scouthout aliases..."
cp $HNET_LIB/scouthout_aliases.txt $HNET_BCK/scouthout_aliases_$(date +"%Y%m%d-%H%M%S").txt
$HNET_BIN/dump_scouthout_aliases >$HNET_LIB/scouthout_aliases.txt
#
# save new and extra aliases
#
echo "Saving new and extra aliases..."
cp $HNET_LIB/extra_aliases.txt $HNET_BCK/extra_aliases_$(date +"%Y%m%d-%H%M%S").txt
$HNET_BIN/dump_extra_aliases >$HNET_LIB/extra_aliases.txt
#
# save new and extra domain_aliases
#
echo "Saving new and extra domain_aliases..."
cp $HNET_LIB/extra_alias_domains.txt $HNET_BCK/extra_alias_domains_$(date +"%Y%m%d-%H%M%S").txt
$HNET_BIN/dump_extra_alias_domains >$HNET_LIB/extra_alias_domains.txt
#
# build all 4 tables from input files
#
echo "Building mailbox table for Hobbynet/Kadernet..."
cp $HNET_LIB/mailbox_header.tmpl $HNET_LDR/mailbox.sql
$HNET_BIN/gen_mailbox >> $HNET_LDR/mailbox.sql
$HNET_BIN/gen_mailbox2 >> $HNET_LDR/mailbox.sql
cat $HNET_LIB/mailbox_footer.tmpl >> $HNET_LDR/mailbox.sql
$CHMOD 644 $HNET_LDR/mailbox.sql
$CHOWN root:root $HNET_LDR/mailbox.sql
mysql -u postfixadmin -pvFSQiD7uRyaF postfixadmin <$HNET_LDR/mailbox.sql
#
echo "Building alias table for Hobbynet/Kadernet..."
cp $HNET_LIB/alias_header.tmpl $HNET_LDR/alias.sql
$HNET_BIN/gen_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_fff_hobbynet_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_fff_www_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_extra_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_mailman_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_scouthout_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_alias2 >> $HNET_LDR/alias.sql
$HNET_BIN/gen_func_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_best_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_webm_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_kernl_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_group_alias | sort | uniq >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_voorz_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_kernl_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_secr_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_penm_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_webm_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_x_bestl_alias >> $HNET_LDR/alias.sql
$HNET_BIN/gen_fff_kadernet_alias >> $HNET_LDR/alias.sql
cat $HNET_LIB/alias_footer.tmpl >> $HNET_LDR/alias.sql
$CHMOD 644 $HNET_LDR/alias.sql
$CHOWN root:root $HNET_LDR/alias.sql
mysql -u postfixadmin -pvFSQiD7uRyaF -c postfixadmin <$HNET_LDR/alias.sql
#
echo "Building domain table for Hobbynet/Kadernet..."
cp $HNET_LIB/domain_header.tmpl $HNET_LDR/domain.sql
$HNET_BIN/gen_domain >> $HNET_LDR/domain.sql
$HNET_BIN/gen_dusers_domain >> $HNET_LDR/domain.sql
$HNET_BIN/gen_domain2 >> $HNET_LDR/domain.sql
cat $HNET_LIB/domain_footer.tmpl >> $HNET_LDR/domain.sql
$CHMOD 644 $HNET_LDR/domain.sql
$CHOWN root:root $HNET_LDR/domain.sql
mysql -u postfixadmin -pvFSQiD7uRyaF postfixadmin <$HNET_LDR/domain.sql
#
echo "Building alias_domain table for Hobbynet/Kadernet..."
cp $HNET_LIB/alias_domain_header.tmpl $HNET_LDR/alias_domain.sql
$HNET_BIN/gen_extra_alias_domain >> $HNET_LDR/alias_domain.sql
$HNET_BIN/gen_alias_domain2 >> $HNET_LDR/alias_domain.sql
cat $HNET_LIB/alias_domain_footer.tmpl >> $HNET_LDR/alias_domain.sql
$CHMOD 644 $HNET_LDR/alias_domain.sql
$CHOWN root:root $HNET_LDR/alias_domain.sql
mysql -u postfixadmin -pvFSQiD7uRyaF postfixadmin <$HNET_LDR/alias_domain.sql
#
echo ""
echo "Building systemusers for Roundcube..."
cp $HNET_LIB/systemusers.tmpl $HNET_LIB/systemusers
$HNET_BIN/gen_systemusers >> $HNET_LIB/systemusers
$CHMOD 644 $HNET_LIB/systemusers
$CHOWN root:root $HNET_LIB/systemusers

De input bestanden

Er zijn enige Zeer Belangrijke Bestanden die met grote zorg bewerkt moeten worden. Treden hier fouten in op dan zal de database niet of verkeerd worden aangemaakt. Er zal in de meeste gevallen een fout gegeven worden het draaien van upd_smail als onderdeel van upd_all.

husers

Een bestand dat uit de centrale scripting op de scripting server komt. Het heeft geen zin hier wijzigingen in aan te brengen want bij een update wordt het bestand overschreven.

dusers

Een bestand met dezelfde status als husers alleen dan voor de beheerde domeinen bij SIDN ene EuroDNS. Er staan nog enige domeinen in waar wij mee te maken hebben; b.v. als mail of DNS backup domein. Het bestand zal nog wel wat veranderen; het is nog in ontwikkeling maar wel in gebruik. Er kunnen niet zomaar veranderingen in de huidige lay-out gemaakt worden!

b3a.txt

Een bestand dat uit de centrale scripting op de scripting server komt. Het heeft geen zin hier wijzigingen in aan te brengen want bij een update wordt het bestand overschreven.

extra_aliases.txt

Dit bestand bevat alle extra aliases die niet uit de andere bestanden als husers en b3a.txt gemaakt kunnen worden. De lay-out is eenvoudig:

alias@domain.tld:goto@domain.tld[,goto@domain.tld,...]

Voordat de nieuwe alias tabel wordt gegenereerd, wordt de oude extra_aliases.txt veiliggesteld in de .../lib/backup directory. Daarna wordt een nieuwe extra_aliases.txt gemaakt uit de huidige alias tabel. Daarbij worden niet alleen de records met source = 3 meegenomen maar ook alle records waar source = 0 is (en het domein niet scouthout.nl is). Dit zijn de in PFA aangemaakte aliases die nog niet in het platte tekst bestand zitten. Zodra gen_extra_alias draait, worden alle records met source = 3 weer in de alias tabel geplaatst.

mailman_aliases.txt

Dit bestand heeft een identieke lay-out als extra_aliases.txt maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende gen_<groep>_alias in de .../bin gemaakt te worden.

scouthout_aliases.txt

Dit bestand heeft een identieke lay-out als extra_aliases.txt maar bevat alleen aliases van een specifieke groep. Als er meer van dit soort groepen nodig zijn dient er ook een corresponderende gen_<groep>_alias in de .../bin gemaakt te worden. Netter zou zijn alle bestanden in een aliases.d directory te lezen maar dat is een idee voor de toekomst.

Omdat het beheer van deze aliases niet door Hobbynet staf gedaan wordt is het mogelijk dat hier dingen mis gaan.

Voordat de nieuwe alias tabel wordt gegenereerd, wordt de oude scouthout_aliases.txt veiliggesteld in de .../lib/backup directory. Daarna wordt een nieuwe scouthout_aliases.txt gemaakt uit de huidige alias tabel. Daarbij worden de records met als domain scouthout.nl geselecteerd. Tevens wordt source = 5 gezet. Hier wordt verder niets mee gedaan.

extra_alias_domains.txt

Dit bestand bevat alle alias-domains die niet uit de andere bestanden als b3a.txt gemaakt kunnen worden. De lay-out is eenvoudig:

alias_domain.tld:hoofd_domain.tld

Voordat de nieuwe alias_domain tabel wordt gegenereerd, wordt de oude extra_alias_domains.txt veiliggesteld in de .../lib/backup directory. Daarna wordt een nieuwe extra_alias_domains.txt gemaakt uit de huidige alias_domain tabel. Daarbij worden niet alleen de records met source = 3 meegenomen maar ook alle records waar source = 0 is. Dit zijn de in PFA aangemaakte alias_domains die nog niet in het platte tekst bestand zitten. Zodra gen_extra_alias_domain draait, worden alle records met source = 3 weer in de alias_domain tabel geplaatst.

Genereren van de mailboxen

Alle (ook virtuele) gebruikers waarvoor mail-dev eindstation is voor email, hebben een home directory en een mailbox in een mail directory op dit systeem. Zowel HCC!Hobbynet als de HCC!Kadernet leden hebben allemaal een mailbox met Maildir structuur in /disk/mail/vmail/<domain>/<user>/Maildir/.

gen_mailbox

Dit script maakt de hobbynet mailbox informatie aan. Ook worden salted MD5 passwords gegenereerd aan de hand van de passwords in husers. Hiervoor wordt de perl module unix_md5_crypt gebruikt en een kleine subroutine om het salt te genereren. Bij elke run van gen_mailbox worden deze strings anders maar ze blijven een match geven met het password. De mailbox naam is altijd <contact>@<systeem>.hobby.nl voor hobbynetleden. Het domein is altijd <systeem>.hobby.nl.
LET OP! Als er mailboxen zijn bijgemaakt via PostfixAdmin, zullen die verloren gaan bij een rebuild van de mailbox tabel! Stel de tabellen veilig door een export te doen of een backup als superadmin. Een dergelijk script voor scouthout.nl (gebruikt als proefdomein) mailboxen bestaat al.

gen_mailbox2

Dit script maakt de kadernet mailbox informatie aan. Ook worden salted MD5 passwords gegenereerd aan de hand van de passwords in husers. Hiervoor wordt de perl module unix_md5_crypt gebruikt en een kleine subroutine om het salt te genereren. Bij elke run van gen_mailbox2 worden deze strings anders maar ze blijven een match geven met het password. De mailbox naam is altijd <lidnummer>@kader.hcc.nl voor kaderleden. Het domein voor kaderleden is dus altijd kader.hcc.nl.

Genereren van de aliases

Email die op een domein op mail-dev wordt afgeleverd om direct weer verder gestuurd te worden heeft geen mailbox nodig. Voorbeeld hiervan is scouhout.nl. Alle email adressen expanderen via aliases naar een of meer externe adressen. Mail-dev fungeert hiervoor dus als mailrelay. Aliases zijn ook nodig voor functionele email adressen van kadernet functies zoals voorzitter, secretaris, enz. Ook zijn er adressen nodig voor grotere groepen ten bate van het kantoor zodat ze alle penningmeesters tegelijk kunnen emailen. De alias tabel wordt dus vrij groot. Er zijn weer meerdere kleine scripts die de tabellen vullen.

gen_alias

Dit script genereert alle hobbynet aliases die uit husers gemaakt kunnen worden. Voor de hobbynetleden wordt een alias gemaakt met de naam van de gebruiker in de alias tabel. Er komt dus een <contact>@<systeem>.hobby.nl die naar de mailbox <contact>@<systeem>.hobby.nl wijst. De alias tabel is zichtbaar in PostfixAdmin. De alias tabel kan beheerd worden met PostfixAdmin. Via phpmyadmin op dbadmin.hobby.nl kunnen natuurlijk alle tabellen in de database postfixadmin benaderd worden, mocht dit nodig zijn.

gen_fff_hobbynet_alias

Dit script genereert de fff_hnet@hobby.nl alias door uit husers het emailadres te halen van leden met code 0,1,2,3 te halen.

gen_fff_www_alias

Dit script genereert de fff_www@hobby.nl alias door uit husers het emailadres te halen van dié leden die een website op een van de Hobbynet webservers hebben. Het is dus een subset van fff_hnet.

gen_extra_alias

Dit script leest extra_aliases.txt en genereert regels in de sql-loaderfile. He betreft aliases die niet eenvoudig af te leiden zijn uit husers of b3a.txt.

gen_mailman_alias

Dit script leest mailman_aliases.txt en genereert regels in de sql-loaderfile. He betreft aliases die nodig zijn voor de goede werking van Mailman.

gen_scouthout_alias

Dit script leest scouthout_aliases.txt en genereert regels in de sql-loaderfile. He betreft aliases die te maken hebben met scouthout.nl. Er is tevens een scriptje dump_scouthout_aliases dat scouthout_aliases.txt kan genereren uit de alias tabel. Dit kan nuttig zijn als er updates via PostfixAdmin zijn gedaan door de scouthout admin. Als er voor andere domeinen ook aliases bijkomen, moeten daar ook dump-* scripts voor gemaakt worden. Ook de backup van de db voldoet natuurlijk.

gen_alias2

Dit script genereert alle kadernet aliases die uit husers gemaakt kunnen worden. Voor de kaderleden waar het domain nog kader.hobby.nl is, wordt dat vervangen door kader.hcc.nl. Er wordt een alias gemaakt die naar de mailbox wijst (met het lidnummer uit husers) en één met de HCC naam uit het in husers opgenomen email adres. Er komt dus een 1234567@kader.hcc.nl en een a.b.c.janssen@kader.hcc.nl die weer beide naar de mailbox 1234567@kader.hcc.nl verwijzen. De alias tabel kan beheerd worden met PostfixAdmin. Via Phpmyadmin op dbadmin.hobby.nl kunnen natuurlijk ook alle tabellen in de database postfixadmin benaderd worden.

gen_func_alias

Dit script genereert alle functionele aliases voor elke groepering. Het maakt aliases aan voor voorzitter@<groepering>.hcc.nl, secretaris@<groepering>.hcc.nl en penningmeester@<groepering>.hcc.nl. Tevens wordt info@<groepering>.hcc.nl gemaakt die ook naar secretaris@<groepering>.hcc.nl verwijst. Om aan backwards compatible te zijn is ook voorzien in aliases voor 'voorz', 'secr' en 'penm' die verwijzen naar de lange naam. Uit praktische overweging worden hier ook de rfc mailboxen gemaakt. abuse@.. verwijst naar abuse.hobby.nl.

gen_best_alias

Dit script genereert de bestuur alias voor elke groepering. Dus per groepering de voorzitter, secretaris, penningmeester en bestuursleden met als alias bestuur@<groepering>.hcc.nl. De informatie wordt gehaald uit de b3a.txt file. Die file wordt uit de kadertab.csv gemaakt. (Deze slag staat volledig los van deze scripts en wordt alleen gedraaid als er een nieuwe kadertab wordt aangeboden door het HCC kantoor). Sommige groeperingen zoals kantoor wordt overgeslagen. Er is geen bestuur@kantoor.hcc.nl...

gen_webm_alias

Voor de webmasters is een apart script gemaakt omdat er variabel aantal webmasters per groepering kan zijn. Bron bestand is weer b3a.txt. Dit script genereert de webmaster@<groepering>.hcc.nl alias die een variabel aantal target mailboxen kent. Ook wordt altijd de secretaris toegevoegd. In het geval dat er helemaal géén webmaster is aangemeld komt de mail dus tenminste in de mailbox van de secretaris. Bron bestand is natuurlijk weer b3a.txt.

gen_kernl_alias

Voor de kernleden is een apart script gemaakt omdat er variabel aantal kernleden per groepering kan zijn. Bron bestand is weer b3a.txt. Dit script genereert de kernleden@<groepering>.hcc.nl alias die een variabel aantal target mailboxen kent.

gen_kadernet_alias

Dit script leest kadernet_aliases.txt en genereert de SQL regels voor speciale kadernet aliases die niet uit b3a gemaakt kunnen worden.

gen_x_<func>_alias

Deze scripts genereren een alias die alle voorzitters, secretarissen, penningmeesters, webmasters, gewone bestuursleden en kernleden als target hebben. Deze aliasen worden zelden gebruikt, maar voorzien erin om alle penningmeesters uit te nodigen voor een penm. overleg. De script zijn nagenoeg identiek. Zoals altijd zijn de target adressen mailboxen (herkenbaar aan het lidnummer). Bron bestand is b3a.txt. Op verzoek van het Kantoor worden enkele key-personen in de alias gezet. Deze personen dienen in de alias kantoor@kader.hcc.nl (in extra_aliasses.txt) gezet te worden om in de x_ alias te komen.

gen_fff_kadernet_alias

Dit script genereert de fff_kader@kader.hcc.nl en fff_bestuur@kader.hcc.nl aliasen. Voor de eerste wordt husers gebruikt (code 5); de tweede is slechts een alias naar x_voorz, x_secr, x_penm, x_bestl. Niet x_kernl en x_webm dus! Op verzoek van het Kantoor worden enkele key-personen in de alias gezet. Deze personen dienen in de alias kantoor@kader.hcc.nl (in extra_aliasses.txt) gezet te worden om in de fff_ alias te komen.

Genereren van de domains

Postfix kan op één server de email voor vele domeinen afhandelen. Om ongewenst relayeren (spam!) te voorkomen moeten de domeinen van de geadresseerden gecheckt kunnen worden.

gen_domain

Dit script genereert de hobbynet domeinen voor de domeinen in husers voor de tabel domain. Ook hier geldt weer dat de domain tabel beheerbaar is in PostfixAdmin.

gen_dusers_domain

Het bronbestand voor gen_dusers_domain is dusers. Dit bestand is nog in ontwikkeling en moet allerlei gegevens van de beheerde domeinen gaan bevatten. Het bestand heeft een vergelijkbare status als husers. Het bronbestand moet met de hand bijgehouden worden maar daar het niet vaak veranderd (alleen bij wijzigingen in de gehoste domeinen) is dat goed te doen.

Het script gen_dusers_domain voegt records toe aan de domain tabel die betrekking hebben op de door HCC!Hobbynet beheerde domeinen. Dit zijn b.v. hccm.nl en hcc-watersport.nl maar weer NIET modelbaan-gg.hcc.nl. Die laatste wordt door gen_domain2 aangemaakt.

gen_domain2

Dit script genereert de kadernet domeinen. Voor kadernet wordt kader.hobby.nl vervangen door kader.hcc.nl. Ook hier geldt weer dat de domain tabel beheerbaar is in PostfixAdmin. Er worden domeinen gemaakt zonder de afd- of -gg en met regio- i.p.v. afd- en -ig i.p.v. -gg.

Genereren van de alias-domains

Postfix kent een z.g. alias_domain. Dit is een domeinnaam die een alias is voor een andere domeinnaam. Alle email adressen in het originele domein komen 1 op 1 voor in het alias domein.

gen_extra_alias_domain

Dit script leest extra_alias_domains.txt en genereert SQL regels voor de tabel alias_domain

De layout van de tekst file is simpel: alias_domain, target_domain. Voorbeeld:

# list of alias_domains
# mirror.tld,target.tld
#
hccm.nl:modelbaan-gg.hcc.nl
hcc-modelbaan.nl:modelbaan-gg.hcc.nl
hcc-games.nl:games-gg.hcc.nl
hcc-clan.nl:games-gg.hcc.nl

Opm: De automatisch gegenereerde HCC domeinnamen (onstaan door -gg/afd-/cg- weg te laten) mogen dus NIET in de platte tekst file staan.

gen_alias_domain2

Dit script genereert alle HCC afdeling en ig domeinen maar dan zonder de afd- prefix en -gg suffix. Input is b3a.txt.

Systemusers

Het upd_smail script genereert tevens een soor virtualusers bestand voor Roundcube. Om de kaderleden in staat te stellen met slechts hun lidnummer in te loggen op webmail is er een default domein kader.hcc.nl gedefinieerd. Als iemand zonder domein inlogt, wordt @kader.hcc.nl toegevoegd. Dit levert echter een probleem op voor de systeem users die in de passwd file staan en door Dovecot daar ook gevonden worden. Die hebben helemaal geen domein aan hun usernaam. Door fake entries op te nemen met <systeemuser>@kader.hcc.nl en een alias zonder domein kunnen die toch inloggen op het webinterface. De laatste groep zijn de hobbynet users die vanouds met S<systeem> konden inloggen. Voor hen wordt ook een fake entry gemaakt met S<systeem>@kader.hcc.nl met als alias het opgegeven email adres. Voor dit email adres is eerder een mailbox aangemaakt.

De beschreven faciliteit bestaat alleen voor het Roundcube web email interface. Pop3 en imap clients moeten, behalve voor syeteemusers, altijd een domein meegeven!

Extra scripts

Er zijn in de ../lib directory nog een paar scripts die niet in upd_smail gebruikt worden. Er zijn een aantal dump_* scripts die o.a. de scouthout aliases in het formaat van de scouthout_aliases.txt dumpen. door die dump te redirecten naar ../lib/scouthout_aliases.txt.new (ofzo), is snel met diff te zien of er tussentijdse wijzigingen zijn geweest. Zoja, dan moet het oude scouthout_aliases bestand door het nieuwe bestand vervangen worden.