Zimbra
Senden als Distribution List erlauben
zmprov grr dl some-list@example.org usr some-permitted-sender@example.org sendAsDistList
Senden als anderer User / Postfach erlauben
./zmprov grr account support@example.com usr username@example.com sendAs
Festplattenalarm-Schwellwerte einstellen
su zimbra
/opt/zimbra/bin/zmlocalconfig -e zmdisklog_warn_threshold=90
/opt/zimbra/bin/zmlocalconfig -e zmdisklog_crit_threshold=93
/opt/zimbra/bin/zmstatctl stop
/opt/zimbra/bin/zmstatctl start
Quelle: https://wiki.zimbra.com/index.php?title=Setting_Thresholds_for_Disk_Monitoring
Aktion ausführen für alle User
Userliste erstellen: root@das:~# ./zmprov -l gaa example.org > ~/userlist-example.org.txt
Und lustig loopen:
root@das:~# for i in $(cat ~/userlist-example.org.txt); do echo "unlocking $i..."; ./zmprov ma $i zimbraAccountStatus active; done
Bash magic: Anzahl Requests mit elapsed= 1000 bis 99999 pro Benutzer
grep -E 'elapsed=.....?\>' /opt/zimbra/log/mailbox.log | grep -Eo 'name=[^@]+@example.org' | sort | uniq -c | sort -hr | head
User-Mailfolder finden
Location: /opt/zimbra/store/0/<uid>/msg
root@das:/opt/zimbra# ./bin/zmprov getMailboxInfo username@example.org
mailboxId: 220
quotaUsed: 19141696221
Mailqueues prüfen und löschen
https://wiki.zimbra.com/wiki/Managing-The-Postfix-Queues
/opt/zimbra/postfix/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' \
| awk 'BEGIN { RS = "" } { if ($7 == "email@domain.com") print $1} ' | tr -d '*!' bzw entsprechend abgekürzt funzt, um zu prüfen, was passiert. dann das genze löschen mit postsuper: /opt/zimbra/postfix/sbin/postqueue -p | egrep -v '^ *\(|-Queue ID-' \
| awk 'BEGIN { RS = "" } { if ($7 == "email@domain.com") print $1} ' \
| tr -d '*!' | /opt/zimbra/postfix/sbin/postsuper -d -
Attachments hochladen / forwarden schlägt fehl
https://forums.zimbra.org/viewtopic.php?f=15&t=66234 -> chmod -R 750 /opt/zimbra/data/tmp/upload/ funktioniert - Server ist offensichtlich compromised!
Webfrontend: Kontakte kopieren (zB von gesharetem Ordner in eigenen )
per default verschiebt es, anstatt zu kopieren. lösung: shift gedrückt halten!
letsencrypt bullshit
Nachdem es zuletzt ja ein paar Probleme mit dem Renew-Prozess im Webinterface gab (vor allem in Zusammenhang mit der geplanten Umstellung auf mail.example.com - seitdem wirft das Admininterface nur noch CSRs mit dieser Domain raus), habe ich es mal per CLI probiert. So hat's geklappt:
/opt/zimbra/bin/zmcertmgr createcsr comm -new -subject "/CN=das.example.org"
CSR liegt dann unter /opt/zimbra/ssl/zimbra/commercial/commercial.csr
CSR dann nutzen, um mit gethttpsforfree ein Zertifikat zu erzeugen. Jetty im Zimbra kann immer noch nicht anständig /.well-known servieren, daher wird die entsprechende Umleitung im Gartenzaun aktiviert und das File stattdessen auf use hinterlegt, dann sollte die Verifizierung klappen. Aus gethttpsforfree muss nur das "signed cert" gespeichert werden.
Für die Verifizierung in Zimbra werden gebraucht:
-
Key: /opt/zimbra/ssl/zimbra/commercial/commercial.key
-
Signed cert: von letsencrypt
-
chained CA certs: in eine datei kommen erst das letsencrypt intermediate zertifikat und dann das letsencrypt root cert. WICHTIG: das intermediate-cert, das aus gethttpsforfree rausfällt, funktioniert NICHT. es muss das "Signed by ISRG Root X1" intermediate verwendet werden, da zimbra nur dieses gegen die root CA validieren kann - warum auch immer, diese feststellung hat einige stunden arbeit gekostet. das "idenTrust Cross Signed" funktioniert in jedem Fall nicht.
Dann: /opt/zimbra/bin/zmcertmgr verifycrt comm <key> <signed.pem> <chained-ca.pem>
Wenn Zimbra nicht spinnt, sollte das funktionieren. Ist das tatscählich der Fall:
cat <signed.pem> <chained-ca.pem> >> <to-deploy.pem>
/opt/zimbra/bin/zmcertmgr deploycrt comm <to-deploy.pem> <chained-ca.pem>
überprüfen: /opt/zimbra/bin/zmcertmgr viewdeployedcrt all
Schlussendlich alles neustarten: service zimbra restart
...und die Umleitung auf use im Gartenzaun wieder rausnehmen!
Kommerzielles SSL-Cert
Z.B. Sectigo: funktioniert prinzipiell genau so, halt ohne die Validierung und so Quatsch. Bei Sectigo kriegt man (Stand 2020-02) ein signiertes Cert und drei für die Chain. Reihenfolge so: m@void:~/zimbra-comodo-202002$ cat original/AddTrustExternalCARoot.crt original/USERTrustRSAAddTrustCA.crt original/SectigoRSADomainValidationSecureServerCA.crt
For reference - alte, kaputte Methode
Statt zmcertmgr depolycrt etc.
/opt/zimbra/libexec/zmdomaincertmgr savecrt das.example.org <to-deploy.pem> <key>
/opt/zimbra/libexec/zmdomaincertmgr deploycrts
Termine einstellen als anderer User
Klassische "Sekretär"-Funktion: "Chefin" gibt "Sekretär" Schreibzugriff auf den Kalender, "Sekretär" wählt links unten den Kalender der "Chefin" aus vorm absenden.
"Fehler im Netzwerkdienst" / "Network Service Error"
Mögliche Ursache (wenn nicht User ausgesperrt): evtl. IP geblacklistet, weil Passwort zu oft falsch eingegeben. mailbox.log zeigt "Access to IP 10.10.10.3suspended, for repeated failed login.".
Lösung hier: https://wiki.zimbra.com/wiki/Network_Service_Error_has_occurred
Direkt mit IMAP-Service sprechen ohne Proxy
Kann man scheinbar machen ohne Nebenwirkungen, wenn man weiß, auf welchem Server der Mailstore liegt: einfach IMAP auf Port 7143 machen.
Email count pro Mailbox, pro Folder
Along the lines of zmmailbox -z -m "$j" gaf | awk '{print $4}' | egrep -o "[0-9]+", dann halt noch was basteln zum addieren oder einfach in Excel pasten, lel
ERROR: service.AUTH_EXPIRED (auth credentials have expired)
Checken ob zu bearbeitender Account in Maintenance Mode ist
Alle Inhalte in Kalender löschen
Weil man den default-Kalender ja nicht löschen darf: zmmailbox -z -m username@example.com emptyFolder /Calendar
Kalendershares automatisch annehmen / mounten
https://forums.zimbra.org/viewtopic.php?t=17899
Verschlüsselte Zip-Archive erlauben in Zimbra
Start -> Configure -> Global settings -> AS/AV -> Block encrypted archives; dann zmclamdctl restart
Mails aus store (zB aus Backup) zurück in Postfach schieben
Aktuell einzig bekannter Weg:
# flatten:
find msg/ -mindepth 2 -type f -exec mv -t msg/ -i '{}' +
# rename:
cd msg
find -name "*.msg" -exec echo rename 's/\.msg/\.eml/' {} \; # vorsicht - sehr langsam
move sent:
mkdir sent
grep -r "^From: " | grep -i 'teczar' | awk -F ':' '{print $1}' | uniq | xargs mv -t sent/
Dann Account in Thunderbird einbinden und mit ImportExportToolsNG die Files reinladen.