69. pepsi-list¶
Mailinglisten, ihre Mitglieder und ihre Verwalter anlegen und verwalten.
69.1. Aufgabe¶
pepsi-list ist das Kommandozeilenwerkzeug des Betreibers für Pepsis Mailinglisten-Subsystem. Es verbindet sich über den gemeinsamen Abschnitt [pepsi-postgres] und liest seinen eigenen Abschnitt [pepsi-list] für die wenigen Einstellungen, die dem Server und nicht einer Liste gehören. Als root gestartet wechselt es vor dem Verbinden auf das Dienstkonto pepsi, sodass kein sudo -u pepsi nötig ist. Es ist nicht setuid und darf nicht dazu gemacht werden. Referenz: pepsi-list(1).
Dieses Subsystem ist eine Neuimplementierung von GNU Mailman 3; siehe Mailinglisten, wo das ausführlicher steht und benannt ist, was von upstream übernommen wurde.
69.2. Was es verwaltet¶
Domains – die Maildomains, in denen Listen angelegt werden dürfen. Eine hier zu registrieren ist von
[pepsi-ingress] ACCEPTED_DOMAINSgetrennt, und eine Liste in einer Domain, die ingress nicht annimmt, ist eine Liste, deren Post beiRCPTabgewiesen wird.Listen – das Anlegen aus einem Stil und jedes der 99 Attribute, die die REST-API von GNU Mailman 3.3.10 offenlegt.
list showgibt sie alle aus;list show --explainergänzt die Erläuterung zu jedem.Mitglieder und Verwalter – die vier Rollen (
member,owner,moderator,nonmember). Ein Verwalter erhält ein Benutzerkonto, weil er sich an der Verwalteroberfläche anmeldet; ein gewöhnlicher Abonnent braucht keines.Sperren – je Liste oder serverweit, als Adresse oder als mit
^verankerter regulärer Ausdruck.Pepsi-eigene Einstellungen je Liste –
list set-ext. Sie sind für die REST-API absichtlich unsichtbar; Mailinglisten erklärt, warum.
69.3. Zwei Dinge, die es absichtlich nicht tut¶
Es fragt nicht um Erlaubnis. members add meldet eine Adresse ohne Bestätigung an. Genau dafür ist ein Kommandozeilenwerkzeug da – eine Mitgliederliste zu migrieren, einen Fehler zu beheben – und genau deshalb ist es gefährlich: der Bestätigungsablauf existiert, damit eine Adresse belegt, dass sie dort sein will. Diesen Ablauf treiben die -join-Adresse und das Webformular an; hier ist dessen Unterkante.
``owner reset-password`` gibt das Passwort aus, statt es zu versenden. Der Kommandozeilenweg muss funktionieren, wenn die Post kaputt ist, und genau dann greift ein Betreiber danach. Der gewöhnliche Weg, ein Passwort zu ändern, ist der Web-Zurücksetzungsablauf unter /lists/reset, der einen Link versendet.
69.4. Einen Server prüfen¶
pepsi-list check prüft, was in der Produktion stumm bleibt. Ein falsch gesetztes Stage-Ziel scheitert laut, sobald die erste Nachricht es erreicht; eine Liste ohne Verwalter sammelt einfach zurückgehaltene Nachrichten, die niemand sieht, und eine Liste, die mehr Trigramm-Indizierung verlangt, als der Server erlaubt, bekommt einfach weniger. Jeder Befund trägt eine Abhilfe.
$ pepsi-list check
error: announce@lists.example.org: has no owner
`pepsi-list owner add announce@lists.example.org <address>`, or set
[pepsi-list] SITE_OWNER so its notices reach somebody
note: site: archive search: full text and trigram (substring, fuzzy)
69.5. Konfiguration¶
Siehe den Abschnitt [pepsi-list] in pepsi.conf(5) und Mailinglisten dazu, was jede Option entscheidet.