Ich habe mich an Jörg gehalten und es so gelöst:
- auf dem LML 6.2 Server erstellt ein Script alias-dateien für Schulklassen und das Kollegium. Der Rest ändert sich so wenig, dass ich den per Hand pflegen kann.
- Das Script lädt die Alias-Dateien hoch. Sie werden in den Dockercontainer weiter gereicht.
- Das Script lässt den Postfix im Dockercontainer die Aliase neu einlesen.
So sehen die Scripte auf dem LML-Server aus:
server1 ~ # cat /etc/cron.daily/maillists
#!/bin/bash
/usr/local/bin/maillist-schueler.sh > /tmp/schueler.cf
/usr/local/bin/maillist-kollegium.sh > /tmp/kollegium.cf
scp /tmp/schueler.cf /tmp/kollegium.cf root@mail.carlbosch.de:/srv/docker/linuxmuster-mail/config/
ssh root@mail.carlbosch.de /usr/bin/docker exec mail postfix reload
#-----------------------------------------------------------------------------------------------------
server1 ~ # cat /usr/local/bin/maillist-schueler.sh
#!/bin/bash
emaildomain="@unseremail.de"
studentsDir="/home/students"
for klasse in $(find "$studentsDir" -maxdepth 1 -mindepth 1 -type d -printf '%f\n')
do
echo ""
echo -e "$klasse$emaildomain"
for student in $(find "$studentsDir/$klasse" -maxdepth 1 -mindepth 1 -type d -printf '%f\n')
do
echo -e " $student$emaildomain"
done
done
#-----------------------------------------------------------------------------------------------------------
server1 ~ # cat /usr/local/bin/maillist-kollegium.sh
#!/bin/bash
emaildomain="@unseremail.de"
echo "kollegium$emaildomain"
for lehrer in $(cat /etc/sophomorix/user/lehrer.txt | awk -F";" '{print $5}')
do
echo " $lehrer$emaildomain"
done
Die Konfiguration auf dem Mailserver sieht so aus:
mail:~# cat /srv/docker/linuxmuster-mail/config/postfix-main.cf
virtual_alias_maps = texthash:/tmp/docker-mailserver/postfix-virtual.cf, ldap:/etc/postfix/ldap-aliases.cf, ldap:/etc/postfix/ldap-groups.cf, texthash:/tmp/docker-mailserver/schueler.cf, texthash:/tmp/docker-mailserver/kollegium.cf