Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Linux 01.10.2026 · 10 min Lesezeit

KeyHelp: Kundenkonten zeitgesteuert sperren und löschen, Vertragsende sauber abwickeln

Wie Sie in KeyHelp ein Sperr- und ein Löschdatum für Kundenkonten setzen, was eine Sperre auf dem Server abschaltet, wann genau die Aktion läuft und welche Eingaben das Panel ohne Warnung annimmt.

Geprüft am 01.10.2026 · für KeyHelp 26.1.1

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Illustration eines Hosting-Panels mit Kalender, Schloss und Mülleimer für geplante Kontosperren

Wenn ein Hosting-Kunde kündigt, steht meist ein fester Termin im Vertrag: Bis zum Monatsende soll die Website laufen, danach wird das Konto gesperrt, und nach einer Frist für die Datenübergabe wird es endgültig gelöscht. KeyHelp kann beides selbst erledigen. Sie hinterlegen im Kundenkonto ein Sperrdatum und ein Löschdatum, den Rest übernimmt die Wartung des Panels. Diese Anleitung zeigt, wo die Felder liegen, was eine Sperre auf dem Server tatsächlich abschaltet, wann genau die Aktion ausgelöst wird und welche Eingaben KeyHelp ohne Rückfrage akzeptiert. Sie richtet sich an Administratoren kleiner Hosting-Server, die Vertragsenden sauber abwickeln wollen. Getestet wurde mit KeyHelp 26.1.1 unter Debian 12. Die Grundinstallation beschreibt die Anleitung KeyHelp installieren und absichern.

Voraussetzungen

Schritt 1: Zeitzone des Servers prüfen

KeyHelp löst geplante Sperren und Löschungen um 00:00 Uhr aus, und zwar nach der Uhr des Servers. Steht der Server auf UTC, wie es bei vielen Cloud-Images ab Werk der Fall ist, passiert das im Sommer erst um 02:00 Uhr deutscher Zeit. Für Verträge, die „zum Monatsende“ enden, ist das meist egal. Wenn Sie den Zeitpunkt aber gegenüber Kunden zusagen, sollte die Zeitzone stimmen.

Die Einstellung liegt unter „Konfiguration“ › „Systemzeit“. Dort wählen Sie im Feld „Zeitzone“ zum Beispiel „Europe/Berlin“. Laut Hinweistext aktualisiert KeyHelp damit die Zeitzone des Servers und der darauf laufenden Dienste. Auf dem Testserver stand der Wert auf „Etc/UTC“.

Verifizieren: Das „Dashboard“ zeigt unter „Server-Informationen“ die „Serverzeit“ samt Zeitzone, im Test „Donnerstag, 01. Oktober 2026 um 13:34:20 (Etc/UTC)“. Auf der Konsole liefert timedatectl denselben Wert in der Zeile „Time zone“.

Schritt 2: Sperr- und Löschdatum im Kundenkonto setzen

Öffnen Sie „Benutzerverwaltung“ › „Kundenkonten“ und klicken Sie beim betroffenen Kunden auf das Stiftsymbol („Bearbeiten“). Wechseln Sie in den Reiter „Erweiterte Einstellungen“. Die Karte „Einstellungen“ enthält drei Felder:

  • „Konto sperren“ mit dem Kontrollkästchen „Ja“ für die sofortige Sperre,
  • „Konto zum angegebenen Datum sperren“,
  • „Konto zum angegebenen Datum löschen“.

Für ein Vertragsende tragen Sie beide Daten ein, zuerst die Sperre, einige Tage oder Wochen später die Löschung. Die Zwischenzeit ist Ihr Puffer: Zahlt der Kunde doch weiter oder braucht er noch seine Daten, heben Sie die Sperre wieder auf. Klicken Sie auf „Speichern“. KeyHelp bestätigt mit „Der Benutzer kunde2 wurde aktualisiert.“

KeyHelp-Formular Erweiterte Einstellungen mit den Feldern Konto sperren, Sperrdatum 02.10.2026 und Löschdatum 03.10.2026
Reiter „Erweiterte Einstellungen“: Sperre und Löschung für ein Kundenkonto planen

Die Datumsfelder sind HTML-Datumsfelder. Der Browser lässt nur Werte ab dem heutigen Tag zu und meldet bei älteren Daten zum Beispiel „Verwende 01.10.2026 oder einen späteren Wert.“ Eine Uhrzeit können Sie nicht angeben. In der Datenbank landet der Termin als suspend_on beziehungsweise delete_on mit 00:00:00 Uhr.

Verifizieren: In der Übersicht „Kundenkonten“ erscheinen hinter dem Benutzernamen ein graues Schloss und ein grauer Mülleimer. Beim Überfahren mit der Maus zeigen sie „Wird gesperrt am: 02. Okt. 2026“ und „Wird gelöscht am: 03. Okt. 2026“. Auf der Konsole prüfen Sie den Eintrag mit:

mysql keyhelp -e "SELECT username, is_suspended, suspend_on, delete_on FROM users WHERE username='kunde2'"

Die Ausgabe im Test: kunde2 0 2026-10-02 00:00:00 2026-10-03 00:00:00.

KeyHelp-Kundenliste mit Schloss- und Mülleimer-Symbol bei kunde2 und eingeblendetem Hinweis Wird gesperrt am 02. Okt. 2026
Geplante Aktionen sind in der Kundenliste nur als kleine Symbole mit Tooltip sichtbar

Schritt 3: Verstehen, was die Sperre auf dem Server bewirkt

Der Hinweistext im Formular fasst die Sperre so zusammen: „Wenn aktiviert, werden alle zugehörigen Domains deaktiviert. Der Zugriff via FTP / SSH / E-Mail / Control Panel wird verweigert.“ Im Test mit kunde1 ließ sich jeder Punkt auf dem Server nachvollziehen, etwa eine Minute nach dem Speichern, sobald die Wartungsaufgabe „Aufgaben abarbeiten“ gelaufen war:

  • Website: KeyHelp schreibt die Apache-Konfiguration /etc/apache2/keyhelp/vhosts/kunde1.conf neu. Jede Domain trägt den Kommentar „Domain is disabled“ und leitet mit Status 302 auf index.php?page=domain_disabled des Panels um. Besucher sehen dort „Die angeforderte Domain ist deaktiviert.“ Ein eigenes Ziel legen Sie unter „Konfiguration“ › „Verhalten nicht verfügbarer Domains“ im Feld für deaktivierte Domains fest.
  • E-Mail: In der Tabelle domains steht is_disabled auf 1. Postfix fragt genau dieses Feld ab, die Domain gilt damit nicht mehr als lokal. Die IMAP-Anmeldung schlägt fehl, eine Testmail an das Postfach kam nicht mehr an.
  • FTP und SSH: Der Systembenutzer kommt in die Gruppe keyhelp_suspended. Diese Gruppe steht in /etc/ssh/sshd_config unter DenyGroups und in /etc/proftpd/proftpd.conf unter DenyGroup. ProFTPD protokolliert „Limit access denies login“.
  • Panel: Die Anmeldung, auch per Einmal-Login, endet mit „Ihr Konto wurde gesperrt.“

Was die Sperre nicht abschaltet: Die Dateien im Home-Verzeichnis bleiben vollständig erhalten, und der Datenbankbenutzer kunde1_db konnte sich im Test weiterhin an MariaDB anmelden. Für Anwendungen auf demselben Server spielt das kaum eine Rolle, weil die Website ohnehin abgeschaltet ist. Haben Sie dem Kunden aber Datenbank-Fernzugriff gegeben, entziehen Sie ihn zusätzlich, siehe KeyHelp: Berechtigungen für Kunden gezielt freigeben.

Zusätzlich verschickt KeyHelp eine Benachrichtigung an die Kontakt-Adresse des Kunden mit dem Betreff „Ihr Konto kunde1 wurde gesperrt“ und dem Text „Ihr Kundenkonto wurde gesperrt.“ Beim Aufheben der Sperre folgt eine zweite Nachricht. Liegt die Kontakt-Adresse auf einer Domain desselben Servers, kommt die Sperrmail nicht im gesperrten Postfach an, weil dessen Domain bereits deaktiviert ist. Informieren Sie den Kunden daher vorab auf einem anderen Weg.

KeyHelp-Anmeldeseite mit der roten Meldung Ihr Konto wurde gesperrt
Ein gesperrter Kunde sieht beim Anmelden nur diese Meldung

Verifizieren: Nach dem Wartungslauf zeigt id kunde1 die Gruppe keyhelp_suspended, und ein Aufruf der Domain liefert die Umleitung:

id kunde1
curl -s -o /dev/null -w "%{http_code} %{redirect_url}\n" -H "Host: kunde1.example.de" http://127.0.0.1/

Im Test: 302 https://server.example.de/index.php?page=domain_disabled. Vor der Sperre lieferte derselbe Aufruf 200.

Schritt 4: Die geplante Sperre und Löschung nachvollziehen

Die Termine arbeitet der Master-Cronjob ab, den KeyHelp in /etc/cron.d/keyhelp einträgt und der jede Minute mastercronjob.php startet. Beim ersten Lauf nach Mitternacht sucht er nach fälligen Terminen. Im Test stand im Protokoll /var/log/keyhelp/cronjob/master.log um 00:00:02 Uhr „scheduled suspension task found - suspending user "kunde2"“, eine Nacht später um 00:00:12 Uhr „scheduled user deletion found - deleting user "kunde2"“.

Nach der Sperre setzt KeyHelp is_suspended auf 1 und leert suspend_on. Das Löschdatum bleibt stehen. Bei der Löschung entfernte KeyHelp in dieser Reihenfolge die Mailverzeichnisse unter /var/mail/vhosts/ für alle Domains des Kunden, die Domains selbst und schließlich den Systembenutzer samt /home/users/kunde2. Das Konto verschwand aus der Kundenliste. Ein Papierkorb oder eine Wiederherstellung im Panel existiert danach nicht mehr.

KeyHelp-Ereignis-Protokolle gefiltert nach Scheduled operation mit Einträgen zur Sperrung und Löschung von kunde2 kurz nach Mitternacht
Die „Ereignis-Protokolle“ belegen, wann eine geplante Sperre oder Löschung ausgeführt wurde

Verifizieren: Öffnen Sie „Systemstatus“ › „Ereignis-Protokolle“ und suchen Sie nach „Scheduled operation“. Dort stehen Einträge wie „Scheduled operation found: Suspend client account kunde2.“ und „Scheduled operation found: Delete client account kunde2.“ mit Datum und dem Kanal „Maintenance (master)“. Danach muss getent passwd kunde2 leer bleiben und ls /home/users/ darf kein Verzeichnis kunde2 mehr zeigen.

Schritt 5: Sperre aufheben oder Termin zurücknehmen

Zahlt ein Kunde nach, entfernen Sie im Reiter „Erweiterte Einstellungen“ das Häkchen „Ja“ bei „Konto sperren“ und speichern. Ein noch ausstehendes Datum löschen Sie, indem Sie das Datumsfeld leeren. Im Test meldete KeyHelp „Der Benutzer kunde1 wurde aktualisiert. Die Änderungen werden in wenigen Augenblicken wirksam.“ Nach dem nächsten Wartungslauf waren Website, Postfach und FTP wieder erreichbar, und der Kunde erhielt die Benachrichtigung über die aufgehobene Sperre.

Beachten Sie die Reihenfolge: Ist der Termin der Sperre bereits vorbei, ist das Feld „Konto zum angegebenen Datum sperren“ wieder leer und stattdessen „Konto sperren“ angehakt. Ein noch eingetragenes Löschdatum bleibt davon unberührt. Wer nur die Sperre aufhebt und das Löschdatum übersieht, verliert das Konto trotzdem.

Verifizieren: Die Abfrage aus Schritt 2 muss 0 NULL NULL zeigen, also keine Sperre und keine Termine. In der Kundenliste steht beim Status wieder „Alles okay“, Schloss- und Mülleimer-Symbol sind verschwunden.

Typische Fehler

Das Sperrdatum ist heute, und das Konto ist sofort gesperrt

Ein Datum ist für KeyHelp ab 00:00 Uhr fällig. Tragen Sie den heutigen Tag ein, findet schon der nächste Minutenlauf die Aufgabe. Im Test war das Konto weniger als eine Minute nach dem Speichern gesperrt, das Protokoll meldete „Scheduled operation found: Suspend client account kunde1.“ Wer „heute Abend“ meint, trägt den folgenden Tag ein.

Löschdatum liegt vor dem Sperrdatum

KeyHelp prüft die Reihenfolge nicht. Ein Sperrdatum 03.10. und ein Löschdatum 02.10. speicherte das Panel kommentarlos mit „Der Benutzer kunde2 wurde aktualisiert.“ Das Konto würde dann ohne Sperrphase gelöscht. Kontrollieren Sie beide Tooltips in der Kundenliste, bevor Sie das Formular verlassen.

Die Löschung kam schneller als erwartet

Die Browser-Sperre gegen vergangene Daten gilt nur im Formular. Ein älteres Datum, das zum Beispiel per Skript oder manipuliertem Formular gespeichert wird, nimmt der Server an, und der nächste Wartungslauf führt es sofort aus. Im Test wurde ein Konto mit Sperrdatum vom Vortag zwei Minuten nach dem Speichern gesperrt. Für ein Löschdatum gilt dasselbe Prinzip.

Wartung läuft nach einer Zeitumstellung nicht mehr

Stellen Sie die Serveruhr nie zum Testen vor und wieder zurück. Im Test merkt sich KeyHelp den letzten Lauf jeder Wartungsaufgabe. Nach dem Zurückstellen meldete master.log minutenlang nur „no jobs to run ...“, und auch eine sofortige Sperre wurde nicht umgesetzt. Erst als die gespeicherten Zeitpunkte unter „Wartungsintervalle“ wieder in der Vergangenheit lagen, lief die Verarbeitung weiter.

Häufige Fragen

Bekommt der Kunde vor der Sperre eine Erinnerung?

Im Test nicht. KeyHelp verschickt nur im Moment der Sperre und beim Aufheben eine Nachricht. Eine Vorwarnung einige Tage vorher müssen Sie selbst schicken, zum Beispiel per „E-Mail an alle Benutzer“ oder aus Ihrer Kundenverwaltung.

Bleiben die Daten während der Sperre erhalten?

Ja. Dateien, Postfachinhalte und Datenbanken blieben im Test unverändert. Sie können dem Kunden in dieser Phase ein Backup aushändigen oder die Daten selbst sichern.

Was passiert mit Backups des Kunden bei der Löschung?

Das wurde nicht geprüft. Gehen Sie davon aus, dass nach der Löschung im Panel nichts mehr wiederherstellbar ist, und erstellen Sie vor dem Löschtermin eine Sicherung außerhalb von KeyHelp.

Lässt sich das auch per API steuern?

Die Felder heißen in der Datenbank is_suspended, suspend_on und delete_on. Wie Sie Kunden grundsätzlich per Skript verwalten, zeigt KeyHelp-REST-API nutzen. Die Sperrfelder über die API wurden in diesem Test nicht ausprobiert.

Testumfang

Getestet auf KeyHelp 26.1.1 unter Debian 12: sofortige Sperre, Sperre und Löschung per Datum mit zwei Testkunden, Wirkung auf Apache, Postfix, Dovecot, ProFTPD, SSH und Panel-Login geprüft. Auffällig ist, dass KeyHelp ein Löschdatum vor dem Sperrdatum ohne Warnung annimmt. Backups und die Zustellung der Benachrichtigung an externe Adressen wurden nicht geprüft. Sichern Sie Kundendaten vor jedem Löschtermin.

Fazit

Mit zwei Datumsfeldern bildet KeyHelp ein Vertragsende vollständig ab: erst sperren, nach einer Frist löschen, ohne dass Sie nachts daran denken müssen. Die Sperre ist gründlich und vollständig umkehrbar, die Löschung dagegen endgültig und ohne weitere Rückfrage. Prüfen Sie deshalb Zeitzone, Reihenfolge der Termine und ein aktuelles Backup, bevor Sie ein Löschdatum speichern, und informieren Sie den Kunden selbst rechtzeitig.

Weiterführende Anleitungen und Quellen

KeyHelpWebhostingLinuxServer-Verwaltung