Synchronet BBS als systemd-Dienst unter Linux einrichten

-

Letztes Update am Sa., 19 Sep. 2026 10:45:48 +0200 von Andreas Potthoff

Einleitung

Wer eine Mailbox (BBS) unter Linux betreibt, stellt schnell fest: Startet man das System manuell im Terminal, bleibt die Sitzung an dieses Fenster gebunden. Schließt man das Terminal oder trennt die SSH-Verbindung zum Server, geht auch die Mailbox offline. Für ein System, das rund um die Uhr (24/7) erreichbar sein soll, ist das natürlich keine Option.

Hier kommt systemd ins Spiel. In modernen Linux-Distributionen wie Ubuntu ist systemd der Standard-Manager für Systemdienste. Indem wir Synchronet als echten Systemdient (einen sogenannten Daemon) einrichten, verlagern wir die Mailbox komplett in den Hintergrund.

Warum der Aufwand? Die Vorteile im Überblick:

  • Echte 24/7-Verfügbarkeit: Die BBS läuft unsichtbar und autark im Hintergrund. Dein Terminal bleibt sofort wieder frei für andere Aufgaben.
  • Automatische Ausfallsicherheit (Autostart): Sollte dein Server – wie beispielsweise ein Intel NUC – nach einem Stromausfall oder einem geplanten Kernel-Update neu starten, fährt Synchronet vollautomatisch mit hoch. Du musst dich nicht erst per SSH einwählen und die BBS von Hand starten.
  • Einfache Verwaltung: Anstatt kryptischer Skripte lässt sich die Mailbox über die universellen Linux-Befehle systemctl start, stop und status steuern.
  • Saubere Protokollierung: Alle Systemmeldungen und Logdaten werden zentral vom Linux-System erfasst, was die spätere Fehlersuche enorm erleichtert.

In dieser Anleitung zeigen wir Schritt für Schritt, wie du eine robuste Konfigurationsdatei für systemd erstellst, typische Linux-Rechtehürden elegant überspringst und deine Mailbox in einen professionellen, dauerhaften Server verwandelst.

Voraussetzungen

Bevor wir die eigentliche Konfigurationsdatei für den Dienst anlegen, müssen wir sicherstellen, dass die Linux-Umgebung optimal vorbereitet ist. Da ein systemd-Dienst isoliert im Hintergrund läuft, verzeiht er keine unklaren Pfade oder fehlenden Zugriffsrechte.

Achte darauf, dass die folgenden drei Punkte erfüllt sind:

Der Systembenutzer

Aus Sicherheitsgründen sollte ein Serverdienst niemals als root-Benutzer ausgeführt werden. Wenn Angreifer eine Schwachstelle in der Software ausnutzen, hätten sie sofort die volle Kontrolle über das gesamte Betriebssystem.

  • In dieser Anleitung gehen wir davon aus, dass du einen eigenen, eingeschränkten Linux-Benutzer namens sbbs angelegt hast, in dessen Heimatverzeichnis (/home/sbbs/) die Mailbox installiert ist.

Der Symlink-Trick (Pfade vereinfachen)

Synchronet sucht intern standardmäßig nach seinen Konfigurationsdateien im Pfad /sbbs/ctrl/. Wenn du das System im Home-Verzeichnis deines Benutzers kompiliert hast, führt das ohne Anpassung zu ständigen Pfad-Fehlern.
Anstatt mühsam mit Umgebungsvariablen zu hantieren, nutzen wir einen eleganten Linux-Kniff: Einen symbolischen Link (Symlink). Dieser gaukelt dem System vor, die BBS läge direkt auf der obersten Festplattenebene.

Führe diesen Befehl einmalig im Terminal aus:

sudo ln -s /home/sbbs/sbbs /sbbs

Vorteil: Ab jetzt sind alle Pfade im System standardisiert (z. B. /sbbs/exec/sbbs), was die Konfiguration des Dienstes enorm vereinfacht.

Das Port-Problem gelöst

Da unser systemd-Dienst aus Sicherheitsgründen unter dem isolierten Standard-Benutzer sbbs ausgeführt wird, verweigert der Linux-Kernel standardmäßig den Zugriff auf privilegierte Ports unter 1024 (wie Telnet auf Port 23, SSH auf Port 22 oder FTP auf Port 21).

Wie genau dieses Kernel-Sicherheitsfeature funktioniert und wie du die sogenannten Linux-Capabilities einsetzt, habe ich bereits im Detail im Synchronet BBS unter Ubuntu: Der ultimative Installations-Guide dokumentiert.

Das Geniale an modernen Synchronet-Versionen: Du musst diesen Schritt nur ein einziges Mal für die Haupt-Binärdatei durchführen! Im Gegensatz zu früher benötigt Synchronet heute keine separaten Zusatzprogramme mehr für die einzelnen Protokolle. Der FTP-Server, das Web-Interface und die Terminal-Dienste sind vollständig im Kern von sbbs verschmolzen. Sobald du der Hauptdatei die Rechte zugewiesen hast, laufen alle Dienste im Hintergrund flüsterleise auf den echten Standard-Ports.

Schritt-für-Schritt-Anleitung: Die Service-Datei erstellen

Jetzt erstellen wir die eigentliche Konfigurationsdatei, die systemd mitteilt, wie Synchronet gestartet, überwacht und verwaltet werden soll. Diese Dateien enden unter Linux immer auf .service und liegen im Systemordner /etc/systemd/system/.

Schritt 1: Datei im Editor öffnen

Da es sich um ein Systemverzeichnis handelt, benötigen wir sudo-Rechte. Wir nutzen den Texteditor nano:

sudo nano /etc/systemd/system/sbbs.service

Schritt 2: Der Konfigurations-Code

Kopiere den folgenden Block komplett in den Editor. Dank unseres zuvor eingerichteten Symlinks können wir hier die sauberen, standardisierten /sbbs/-Pfade nutzen:

[Unit]
Description=Synchronet BBS Daemon
After=network.target

[Service]
Type=forking
User=sbbs
Group=sbbs
Environment=SBBSCTRL=/sbbs/ctrl
ExecStart=/sbbs/exec/sbbs d
Restart=always
RuntimeDirectory=sbbs

[Install]
WantedBy=multi-user.target

Speichere die Datei im Editor ab (bei nano: STRG+O, Enter zum Bestätigen und STRG+X zum Schließen).

Was bedeuten die wichtigsten Zeilen?

  • User=sbbs & Group=sbbs: Der Dienst wird unter dem von uns angelegten, sicheren Standard-Benutzer ausgeführt.
  • Environment=SBBSCTRL=/sbbs/ctrl: Setzt die zwingend erforderliche Umgebungsvariable für Synchronet, damit das Programm weiß, wo seine Konfiguration liegt.
  • ExecStart=/sbbs/exec/sbbs d: Der eigentliche Startbefehl. Das kleine d am Ende ist entscheidend – es weißt Synchronet an, sich als „Daemon“ (Hintergrundprozess) zu verhalten.
  • Restart=always: Stürzt die BBS aus irgendeinem Grund ab, startet Linux sie sofort automatisch neu.
  • RuntimeDirectory=sbbs: Ein wichtiger Praxistipp! Dies verhindert den bekannten Linux-Fehler XDG_RUNTIME_DIR is invalid or not set beim Beenden der BBS, indem es ein sauberes, temporäres Laufzeitverzeichnis für den Dienst simuliert.

Aktivierung und Steuerung im Alltag

Nachdem die Service-Datei sauber unter /etc/systemd/system/sbbs.service gespeichert wurde, müssen wir dem Linux-System mitteilen, dass ein neuer Dienst bereitsteht.

Führe dazu folgende Befehle nacheinander in deiner administrativen Shell aus:

# 1. Den Systemd-Manager zwingen, die neuen Dateien einzulesen
sudo systemctl daemon-reload

# 2. Den Autostart aktivieren (damit Helix Sector nach einem Boot des NUCs hochfährt)
sudo systemctl enable sbbs

# 3. Die Mailbox jetzt sofort im Hintergrund starten
sudo systemctl start sbbs

Die wichtigsten Befehle für das SysOp-Logbuch

Ab sofort musst du kein Terminalfenster mehr für den Prozess blockieren. Die gesamte Steuerung erfolgt über standardisierte Befehle:

  • Status prüfen: sudo systemctl status sbbs (Zeigt dir in wunderschönem Grün, ob das System läuft und welche Nodes aktiv sind).
  • Mailbox stoppen: sudo systemctl stop sbbs (Fährt alle Server-Subsysteme sauber im Hintergrund herunter).
  • Neustart auslösen: sudo systemctl restart sbbs (Ideal, wenn du Änderungen in der Konfiguration vorgenommen hast).

Andreas Potthoff
Andreas Potthoff
Hi, ich bin Andreas. Entwickler, Autor, Redakteur und der Kopf hinter ElectroDrome.Net. Ich bin mit der Pionierzeit der 4- und 8-Bit-Mikrocomputer großgeworden – eine Faszination für Elektronik, Analog- und Digitaltechnik, die mich bis heute antreibt. Mein Feld ist bewusst breit aufgestellt: Es reicht von angewandter Schaltungstechnik und Systemarchitektur über Psychologie und kognitive Modelle bis hin zu den physikalischen Grundlagen unseres Universums, außergewöhnlichen Hypothesen, Raumfahrtgeschichten und Grenzwissenschaften. Hier teile ich erprobte Hardware-Designs, vertiefende Gedanken aus meinen Büchern und dokumentiere meine Projekte in Text, Bild und Video. Mein Ziel: Faszination stiften, komplexe Strukturen verständlich machen und Wissen als Open-Source-Praxis greifbar liefern.
0 0 Bewertungen
Beitragsbewertung
guest
0 Kommentare
Älteste
Neueste Meistbewertet
spot_img

Related Stories