Anmelden
Anmelden

Was ist ein Daemon in der Informatik?

Was ist ein Daemon in der Informatik?
Hostman Team
Technischer Redakteur
Linux-System
23.10.2025
Reading time: 10 min

Der Begriff Daemon stammt aus der antiken griechischen Mythologie und bezeichnete ein immaterielles Wesen, das die Menschenwelt beeinflusst.

In der Informatik, insbesondere in UNIX-ähnlichen Betriebssystemen, ist ein Daemon ein Hintergrundprozess, der ohne direkte Interaktion durch den Benutzer läuft. Er ist nicht von einem Terminal oder einer Benutzeroberfläche abhängig und startet typischerweise mit dem Systemstart oder unter bestimmten Bedingungen.

Was ist ein Daemon

Die Hauptaufgabe eines Daemons besteht darin, anderen Prozessen oder Benutzern spezifische Dienste bereitzustellen. Ein Daemon kann beispielsweise auf Netzwerkports auf Verbindungen warten, Systemereignisse überwachen und reagieren, wenn bestimmte Bedingungen erfüllt sind, geplante Aufgaben verwalten (wie cron), E-Mails versenden (sendmail) und vieles mehr.

Unter Windows entspricht ein Dienst (Service) am ehesten einem Daemon. Der Unterschied liegt vor allem darin, wie sie in den Betriebssystemen gestartet, registriert, verwaltet und konfiguriert werden. Ihr Zweck ist jedoch derselbe: den kontinuierlichen Hintergrundbetrieb bestimmter Funktionen oder Dienste sicherzustellen.

Zentrale Merkmale eines Daemons

  • Läuft im Hintergrund: Benutzer sehen in der Regel keine Oberfläche des Daemons; er schreibt nicht auf die Standardausgabe (oder leitet sie in Protokolle um) und fordert keine Tastatureingaben an.

  • Autonom: Ein Daemon startet entweder beim Systemstart, wenn er durch ein Init-System (wie systemd) ausgelöst wird, oder manuell durch den Benutzer (über Skripte, cron usw.).

  • Langlebig: Idealerweise läuft ein Daemon unbegrenzt, es sei denn, es tritt ein kritischer Fehler auf oder er erhält ein explizites Stoppsignal.

  • Isoliert: Läuft üblicherweise unter einem separaten Benutzer-/Gruppenkonto mit minimalen Rechten, was Dienste sicherer und einfacher zu verwalten macht.

  • Protokollierung: Anstatt Standard-Ein-/Ausgabe zu verwenden, schreiben Daemons Informationen in Protokolldateien oder an den System-Logger (journald, syslog usw.), was bei Debugging und Diagnose hilft.

Daemons unter Linux

Historisch sind nahezu alle systemweiten Hintergrundaufgaben unter Linux als Daemons implementiert. Das Betriebssystem enthält Dutzende davon, die jeweils für eine bestimmte Funktion verantwortlich sind. Hier einige Beispiele:

  • sshd (Secure Shell Daemon): Lauscht standardmäßig auf Port 22 und ermöglicht entfernten Nutzern die verschlüsselte SSH-Verbindung. Ohne sshd ist ein entfernter Terminalzugriff nahezu unmöglich.

  • cron: Ein Daemon für die Aufgabenplanung. Er prüft Crontab-Einträge und führt Skripte oder Befehle nach Zeitplan aus, etwa Protokollbereinigung, Versand von Berichten, Systemprüfungen usw.

  • syslogd / rsyslog / journald: Systemprotokollierungs-Daemons, die Meldungen vom Kernel, von Utilities, anderen Daemons und Anwendungen sammeln und in Protokolldateien oder dem Journal speichern.

  • NetworkManager or Wicd: Daemons zur Verwaltung der Netzwerkeinstellungen – sie automatisieren Verbindungen zu kabelgebundenen/wireless Netzwerken, Umschalten, VPN-Konfigurationen und mehr.

Diese Daemons starten beim Systemboot und sind im Systemdienst-Manager (z. B. systemd) registriert. Sie laufen, bis das System heruntergefahren oder neu gestartet wird. Benutzer interagieren indirekt mit ihnen – über Konfigurationsdateien, Terminalbefehle (service, systemctl) oder Netzwerkanfragen (wenn der Daemon HTTP/S, SSH oder eine andere Netzwerkschnittstelle bereitstellt).

Wie man Daemons erstellt und verwaltet

So implementieren Sie einen Daemon:

  1. Prozess forken: Der Elternprozess ruft fork() auf und führt den Daemon-Code im Kindprozess weiter aus.
  2. Vom steuernden Terminal lösen (setsid): Um Benutzereingriffe zu vermeiden (z. B. Schließen des Terminals), ruft der Daemon setsid() auf, um eine neue Sitzung zu starten und deren Leiter zu werden.

  3. Standard-Ein-/Ausgabe-Deskriptoren schließen: Da der Daemon weder auf den Bildschirm schreiben noch auf Eingaben warten soll, werden stdin, stdout und stderr geschlossen oder in Protokolldateien umgeleitet.

  4. Signale und Protokollierung handhaben: Um einen sauberen Shutdown oder das Neuladen der Konfiguration zu unterstützen, muss der Daemon Signale (SIGTERM, SIGHUP usw.) behandeln. Die Protokollierung erfolgt üblicherweise über syslog oder Dateien.

  5. Hauptschleife: Nach der Initialisierung tritt der Daemon in seine Hauptschleife ein: auf Ereignisse warten, sie behandeln und wiederholen, bis er gestoppt wird.

Sehen wir uns an, wie man unter Ubuntu 22.04 mit einem Hostman-Cloud-Server einen Daemon erstellt.

1. Den Daemon in C schreiben

Erstellen Sie eine Datei namens mydaemon.c und fügen Sie den folgenden Code ein:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <syslog.h>

int main() {
    // Syslog öffnen
    openlog("mydaemon", LOG_PID, LOG_DAEMON);
    syslog(LOG_NOTICE, "Daemon started");

    // Haupt-Endlosschleife
    while (1) {
        // Ihre Hintergrundaufgaben: Monitoring, Queue-Verarbeitung usw.
        syslog(LOG_NOTICE, "Performing task...");
        sleep(60);
    }

    // Falls die Schleife jemals verlassen wird
    syslog(LOG_NOTICE, "Daemon stopped");
    closelog();

    return 0;
}

2. Das Programm kompilieren

Aktualisieren Sie zunächst Ihre Pakete:

sudo apt update && sudo apt upgrade

Installieren Sie den GCC-Compiler, falls nicht bereits vorhanden:

sudo apt install gcc

Kompilieren Sie den Daemon:

gcc mydaemon.c -o mydaemon

3. Die ausführbare Datei verschieben

Verschieben Sie die Binärdatei nach /usr/local/bin/, einen Standardort für benutzerdefinierte Utilities:

mv mydaemon /usr/local/bin/mydaemon

4. Einen systemd-Service erstellen

Erstellen Sie eine Unit-Datei namens mydaemon.service:

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

Fügen Sie den folgenden Inhalt ein:

[Unit]
Description=My Daemon
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mydaemon
Restart=on-failure

[Install]
WantedBy=multi-user.target

Erläuterung der Felder:

  • Description: Beschreibung, die in systemctl status angezeigt wird.
  • After=network.target: Stellt sicher, dass der Daemon startet, nachdem das Netzwerk verfügbar ist.
  • Type=simple: Der Daemon forkt nicht; er läuft als einzelner Prozess.
  • ExecStart: Pfad zur ausführbaren Daemon-Datei.
  • Restart=on-failure: Automatischer Neustart, wenn der Daemon abstürzt.
  • WantedBy=multi-user.target: Sorgt dafür, dass der Dienst in der Standard-Multi-User-Umgebung startet.

5. Den Daemon starten und überwachen

sudo systemctl daemon-reload          # Systemd-Konfiguration neu laden
sudo systemctl start mydaemon         # Daemon starten
sudo systemctl status mydaemon        # Status prüfen

Wenn alles funktioniert, zeigt der Status active an. Zum Anzeigen der Protokolle:

journalctl -u mydaemon.service -e

Beispiele für die Verwendung von Daemons

  • Webserver

Ihre Aufgabe ist es, an einem Netzwerkport (meist 80 oder 443) zu lauschen, HTTP/HTTPS-Anfragen anzunehmen, eine Antwort zu erzeugen (eine HTML-Seite, JSON-Daten usw.) und das Ergebnis an den Client zurückzusenden. In den meisten Fällen startet ein Webserver mit dem System und läuft weiter, bis der Server heruntergefahren oder ein Stoppbefehl ausgeführt wird (z. B. systemctl stop nginx).

  • Datenbank-Daemons

MySQL/MariaDB, PostgreSQL, MongoDB – all diese sind ebenfalls Daemons. Sie starten mit dem System und laufen im Hintergrund weiter, wobei sie Anfragen von Client-Anwendungen oder Webdiensten annehmen. Diese Daemons protokollieren Aktivitäten, unterstützen die Konfiguration über Dateien und werden mit speziellen Utilities (oder systemd) verwaltet.

  • Aufgabenplaner (cron, atd)

Der cron-Daemon prüft die Zeitplantabelle (Crontab) und führt Programme zu den vom Benutzer angegebenen Zeiten oder Intervallen aus. Dadurch lassen sich Backups, Systemupdates, Gesundheitschecks und viele andere Routineaufgaben automatisieren.

atd ist ein ähnlicher Daemon, führt Aufgaben jedoch nur einmal zu einem bestimmten Zeitpunkt aus (im Gegensatz zu cron, das Aufgaben regelmäßig ausführt).

  • Zugriffs- und Kontrolldienste (sshd, xrdp)

sshd (Secure Shell Daemon) ermöglicht den Fernzugriff über das SSH-Protokoll. xrdp aktiviert Remote-Desktop-Verbindungen über das RDP-Protokoll. Er fungiert als Daemon, der auf Netzwerkverbindungen an einem angegebenen Port lauscht.

  • Init-System-Daemons (systemd, init, Upstart)

In modernen Systemen wird die Rolle des „Haupt-Daemons“ von systemd erfüllt (als Ersatz für das ältere SysV-Init-System). systemd ist der erste Prozess nach dem Kernelstart und für das Starten und Verwalten aller anderen Dienste und Prozesse verantwortlich. Es startet sie parallel und behandelt ihre Abhängigkeiten. Kurz gesagt: systemd ist selbst ein Daemon, der alle anderen im System „orchestriert“.

Vorteile und Nachteile von Daemons

Vorteile:

  • Automatisierung: Daemons ermöglichen die Automatisierung des Systemverhaltens – vom Reagieren auf Netzwerkanfragen bis zur Aufgabenplanung – ohne Benutzereingriff.

  • Isolation: Das Ausführen unter separaten Benutzer-/Gruppenkonten und das Lösen vom Terminal erhöht die Sicherheit, da potenzielle Schäden im Kompromittierungsfall begrenzt werden.

  • Dauerhafter Betrieb: Ein Daemon kann Anfragen (wie ein Webserver) ohne Unterbrechung bedienen, selbst wenn sich der Benutzer abmeldet oder die Konsole geschlossen wird.

  • Verwaltbarkeit: Linux stellt Systemtools (z. B. systemd, Init-Skripte) bereit, um alle Daemons zentral zu verwalten: Starten, Stoppen, Neustarten und Protokollieren.

Nachteile:

  • Debugging-Komplexität: Da Daemons im Hintergrund laufen und nichts auf der Konsole ausgeben, erfordert das Debugging eine gründliche Protokollierung und komplexere Setups (Debug-Flags, Tracing usw.).

  • Sicherheitsrisiken: Wenn ein Daemon mit erhöhten Rechten (z. B. als root) läuft, kann jede Schwachstelle potenziell das gesamte System kompromittieren. Es ist am besten, Daemons unter eingeschränkten Konten auszuführen.

  • Abhängigkeitsverwaltung: Manche Daemons können fehlschlagen, wenn sie beispielsweise Netzwerkzugang benötigen, bevor das Netzwerk verfügbar ist. Moderne Init-Systeme lösen dies, aber mit klassischen SysV-Init-Skripten war dies früher ein häufiges Problem.

  • Erhöhter Ressourcenverbrauch: Jeder ständig laufende Hintergrundprozess verbraucht Systemressourcen (Speicher, CPU-Zeit). Wenn es zu viele Daemons gibt, kann dies die Leistung beeinträchtigen, insbesondere auf Systemen mit begrenzten Ressourcen.

Fazit

Daemons sind ein zentrales Element der Architektur von Linux-Betriebssystemen und bieten umfangreiche Möglichkeiten für Automatisierung und Hintergrunddienste. Sie ermöglichen Administratoren, Netzwerkbetrieb, Zeitpläne, Protokollierung, Sicherheitssysteme und viele andere Komponenten flexibel zu konfigurieren.

Das Schreiben eines eigenen Daemons erfordert ein Verständnis von Prozessen, Signalen, Systemaufrufen sowie sorgfältige Aufmerksamkeit für Protokollierung und Sicherheit.

Moderne Init-Systeme (insbesondere systemd) haben die Verwaltung von Daemons und die Servicelogik vereinfacht, wodurch die Erstellung benutzerdefinierter Dienste strukturierter und flexibler geworden ist. Es bleibt jedoch ein komplexes Gebiet, das sorgfältige Planung, Debugging und kontinuierliche Wartung verlangt.

Wenn Sie eine zuverlässige, leistungsstarke und budgetfreundliche Lösung für Ihre Workflows suchen, bietet Hostman Ihnen Linux-VPS-Hosting-Optionen, darunter Debian-VPS, Ubuntu-VPS und VPS-CentOS.

Linux-System
23.10.2025
Reading time: 10 min

Ähnlich

Linux-System

Dateien in Linux mit dem tar-Befehl komprimieren

Der tar-Befehl dient grundsätzlich dazu, Dateien und Verzeichnisse in einem einzigen Archiv zusammenzufassen, ohne deren Struktur zu verändern. Dieser Ansatz vereinfacht die Organisation, die Erstellung von Backups und den Dateitransfer. Nach dem Verpacken können diese Archive mit verschiedenen Methoden wie gzip, bzip2 oder xz komprimiert werden, was den Speicherbedarf optimiert und die Übertragungsgeschwindigkeit verbessert. Moderne Linux-Distributionen auf Linux-VPS-Servern werden mit aktuellen Versionen von tar ausgeliefert und ermöglichen eine nahtlose Integration mit Komprimierungswerkzeugen wie gzip für eine effizientere Datenverarbeitung. Dadurch ist tar ein wertvolles Werkzeug für Benutzer, die große Datenmengen verwalten, da es sowohl Dateikonsolidierung als auch Komprimierung in einem einzigen Befehl unterstützt. Dank seiner Flexibilität wird tar in verschiedenen Linux-Umgebungen weit verbreitet eingesetzt. Es erleichtert nicht nur die Erstellung von Backups, sondern vereinfacht auch die Softwareverteilung und die Verwaltung wichtiger Daten. Mit einer Vielzahl verfügbarer Optionen können alle Benutzer Archive an ihre Anforderungen anpassen, sei es durch das Ausschließen bestimmter Verzeichnisse oder Dateien, das Beibehalten von Berechtigungen oder das Absichern sensibler Daten. Für alle, die mit umfangreichen Informationen oder komplexen Speicheranforderungen arbeiten, ist es entscheidend, den tar-Befehl vollständig zu verstehen. All dies macht ihn zu einem wichtigen Werkzeug, das Linux-Benutzer erlernen sollten. Und wenn Sie auf der Suche nach einer zuverlässigen, leistungsstarken und kostengünstigen Lösung für Ihre Workflows sind, bietet Hostman Linux-VPS-Hosting-Optionen, darunter Debian VPS, Ubuntu VPS und VPS CentOS. Die Syntax von tar verstehen Der tar-Befehl ist grundsätzlich in vier unterschiedliche Teile unterteilt: tar  -flags: Optionen zur Ausführung einer bestimmten Aktion Name des Archivs Pfad zur gewünschten Datei oder zum gewünschten Verzeichnis Er wird wie folgt geschrieben: tar -flags (archiv_name) (pfad) Dateien und Verzeichnisse archivieren tar in Kombination mit dem Flag -cvf ermöglicht das Archivieren von Dateien und Verzeichnissen. Für eine Datei: tar -cvf collectionX.tar snake.txt Für ein Verzeichnis: tar -cvf DRcollection.tar newDir/ Dadurch wird die Datei snake.txt in collectionX.tar und das Verzeichnis newDir in DRcollection.tar archiviert. Wenn mehrere Dateien und Verzeichnisse archiviert werden sollen, verwenden Sie die folgenden Befehle. Für mehrere Dateien: tar -cvf collectionX.tar snake.txt panther.txt Tiger.txt Für mehrere Verzeichnisse: tar -cvf DRcollection.tar newDir1/ newDir2/ newDir3/ Dateien und Verzeichnisse komprimieren tar in Kombination mit dem Flag -czvf ermöglicht die Komprimierung von Dateien und Verzeichnissen. Für eine Datei: tar -czvf collectionX.tar.gz snake.txt Für ein Verzeichnis:  tar -czvf DRcollection.tar.gz newDir/ -c archiviert Dateien und Verzeichnisse -z erzwingt gzip-Komprimierung -v ist ausführlich und zeigt den Komprimierungsvorgang an -f ermöglicht die Benennung des zu komprimierenden Archivs Fügen Sie .gz nach tar hinzu, wenn Sie Dateien und Verzeichnisse komprimieren möchten. Für mehrere Dateien: tar -cvf collectionX.tar.gz snake.txt panther.txt Tiger.txt Für mehrere Verzeichnisse: tar -cvf DRcollection.tar.gz newDir1/ newDir2/ newDir3/ .bz2 wird mit tar verwendet und in Kombination mit -cjf zum Archivieren und Komprimieren von Dateien und Verzeichnissen eingesetzt. -j wendet bzip2-Komprimierung an. Für eine Datei mit bz2: tar -cjf collectionX.tar.bz2 snake.txt Für ein Verzeichnis mit bz2: tar -cjf DRcollection.tar.bz2 newDir/ .xz wird mit .tar verwendet und in Kombination mit -cJf zum Archivieren und Komprimieren von Dateien und Verzeichnissen eingesetzt. -J bedeutet Komprimierung mit xz. Für eine Datei mit xz: tar -cJf DRcollection.tar.xz file1.txt Für ein Verzeichnis mit xz: tar -cJf collectionX.tar.xz newDir/ Komprimierte .tar-Dateien extrahieren arch1.tar.gz, arch1.tar.bz2 und arch1.tar.xz sind drei komprimierte Dateien. .tar.gz extrahieren: tar -xvzf arch1.tar.gz -x steht für das Extrahieren von Dateien. .tar.bz2 extrahieren: tar -xvjf arch1.tar.bz2 .tar.xz extrahieren: tar -xvJf arch1.tar.xz Bestimmte Dateien mit Wildcards extrahieren Wenn Sie nur einen bestimmten Dateityp aus einem Archiv extrahieren möchten, gehen Sie wie folgt vor: tar -xvf arch1.tar --wildcards '*.sh' Dadurch werden nur Dateien mit der Erweiterung .sh extrahiert. --wildcards hilft bei der Suche nach bestimmten Dateitypen und ermöglicht Musterabgleiche. *.sh stellt sicher, dass nur Dateien des Typs .sh extrahiert werden In ein bestimmtes Verzeichnis extrahieren Wenn Sie das vollständige Archiv in ein bestimmtes Verzeichnis extrahieren möchten, gehen Sie wie folgt vor: tar -xvf arch1.tar -C ./destinationDir/pathDir/ -C wechselt in den angegebenen Verzeichnispfad. -xvf extrahiert das Archiv an diesem Speicherort .tar-Archive verwalten Inhalte ohne Extraktion anzeigen Wenn Sie wissen möchten, was sich in einem Archiv befindet, ohne Dateien zu entpacken, verwenden Sie folgende Befehle: tar -tzf arch1.tar.gztar -tjf arch1.tar.bz2tar -tJf arch1.tar.xz -t zeigt Details über den Inhalt der komprimierten Archive an, ohne diese zu extrahieren. Dateien zu einem bestehenden Archiv hinzufügen Um eine neue Datei zu einem Archiv hinzuzufügen: tar -rvf arch1.tar new.sh new.sh wird zu arch1.tar hinzugefügt. Eine bestimmte Datei aus einem Archiv entfernen Wenn Sie eine Datei aus einem Archiv löschen müssen, ohne es zu extrahieren, können Sie --delete verwenden. tar --delete -f arch1.tar new.sh Dadurch wird die Datei new.sh aus dem Archiv arch1.tar entfernt, ohne es zu extrahieren. Beachten Sie, dass --delete nicht mit komprimierten Dateien funktioniert, sondern nur mit Archiven. Archivinhalt mit dem aktuellen Verzeichnis vergleichen Wenn Sie den Inhalt Ihres aktuellen Arbeitsverzeichnisses mit einem Archiv vergleichen müssen, verwenden Sie: tar --diff -f arch1.tar --diff vergleicht den Inhalt von arch1.tar mit dem Inhalt des aktuellen Arbeitsverzeichnisses. Häufige .tar-Fehler beheben "tar: Removing leading '/' from member names" Diese Warnung erscheint, wenn absolute Pfade in einem Archiv verwendet werden: tar -cvf arch1.tar /home/user/file.txt Lösung: Verwenden Sie -p, um absolute Pfade beizubehalten. tar -cvpf arch1.tar /home/user/file.txt "tar: Error opening archive: Unrecognized archive format" Dieser Fehler tritt auf, wenn das Archiv beschädigt ist oder der falsche Dekomprimierungsbefehl verwendet wird. Lösung: Überprüfen Sie den Dateityp: file arch1.tar.gz Verwenden Sie den richtigen Dekomprimierungsbefehl: tar -xvzf arch1.tar.gz  # For .tar.gztar -xvjf arch1.tar.bz2  # For .tar.bz2tar -xvJf arch1.tar.xz   # For .tar.xz Wenn eine Beschädigung vermutet wird, überprüfen Sie die Integrität: gzip -t arch1.tar.gzbzip2 -tv arch1.tar.bz2 Fazit Das tar-Dienstprogramm ist ein wichtiges Werkzeug zum Archivieren, Komprimieren und Extrahieren von Dateien. Es bietet Effizienz und ist ein zentraler Bestandteil des Linux-Speichermanagements. Mit einer Vielzahl an Konfigurationen und Einstellungen ist tar eine bewährte Lösung für unterschiedliche Einsatzszenarien. Optionen wie -czvf und -xvzf bestimmen, wie Dateien gespeichert und wiederhergestellt werden, und geben Benutzern vollständige Kontrolle über die Datenkomprimierung. Darüber hinaus unterstützt tar mehrere Komprimierungswerkzeuge wie gzip, bzip2 und xz, sodass Benutzer sowohl Geschwindigkeit als auch Komprimierungsrate entsprechend ihren spezifischen Anforderungen optimieren können. Für IT-Fachkräfte, Entwickler und Linux-Benutzer ist es äußerst wertvoll, den tar-Befehl umfassend zu beherrschen. Ob für das Backup-Management, die effektive Verteilung von Daten oder die Optimierung von Speicherressourcen, tar ist eines der einflussreichsten Archivierungswerkzeuge. Durch die Auswahl der richtigen Konfigurationen und Befehle können Benutzer ihre Workflows erheblich verbessern, Aufgaben automatisieren und große Datensätze effizient verarbeiten.
28 January 2026 · 7 min to read
Linux-System

Symbolische Links in Linux erstellen: Ein Schritt-für-Schritt-Tutorial

Symlinks, auch als symbolische Links bekannt, sind wie Verknüpfungen in der Linux-Welt. Sie ermöglichen es Ihnen, einen neuen Namen (oder Link) zu erstellen, der auf eine andere Datei, ein anderes Verzeichnis oder ein beliebiges Objekt innerhalb des Dateisystems zeigt. Ihr Hauptvorteil liegt darin, Redundanz zu reduzieren, indem die Notwendigkeit mehrerer Kopien derselben Datei entfällt. Wenn Sie einen Symlink haben, spiegeln sich Änderungen an der Originaldatei in all ihren symbolischen Links wider. Dadurch entfällt der Aufwand, zahlreiche Kopien einzeln zu aktualisieren. Zusätzlich bieten Symlinks eine flexible Möglichkeit, Zugriffsberechtigungen zu verwalten. Beispielsweise können verschiedene Benutzer mit Verzeichnissen, die auf Teilmengen von Dateien zeigen, die Sichtbarkeit über das hinaus einschränken, was Standarddateisystemberechtigungen erlauben. Im Wesentlichen sind Symlinks unverzichtbar für eine effiziente Dateiverwaltung und Organisation. Sie vereinfachen Aktualisierungen und die Zugriffskontrolle in komplexen Systemen. Voraussetzungen Um diesem Tutorial zu folgen, benötigen Sie: Ein Cloud-Server, eine virtuelle Maschine oder ein Computer mit einem Linux-Betriebssystem. Auf Hostman können Sie in weniger als einer Minute einen Server mit Ubuntu, CentOS oder Debian bereitstellen. Symbolische Links mit dem Befehl ln erstellen Der Befehl ln wird verwendet, um symbolische Links in Linux zu erstellen. Befolgen Sie diese Schritte: Öffnen Sie ein Terminalfenster. Navigieren Sie zu dem Verzeichnis, in dem Sie den symbolischen Link erstellen möchten. Verwenden Sie die folgende Befehlszeile, um einen Symlink zu erstellen: ln -s /path/to/source /path/to/symlink Ersetzen Sie /path/to/source durch den tatsächlichen Pfad der Datei oder des Verzeichnisses, das Sie verlinken möchten, und /path/to/symlink durch den gewünschten Namen/Ort des Symlinks. Die Optionen des Befehls ln verstehen Der Befehl ln bietet verschiedene Optionen, um die Erstellung von Symlinks anzupassen:  -s: Erstellt einen symbolischen Link.  -f: Überschreibt einen vorhandenen Symlink.  -n: Behandelt Symlink-Ziele als normale Dateien. Erkunden Sie diese Optionen je nach Ihren Anforderungen beim Verlinken. Symbolische Links zu Dateien erstellen Um einen Symlink zu einer Datei zu erstellen, verwenden Sie den Befehl ln mit der Option -s. Hier ist ein Beispiel dafür, wie Sie einen symbolischen Link zu einer Datei mit dem Befehl ln erstellen können. Der folgende Befehl erstellt einen symbolischen Link namens symlink_file im aktuellen Verzeichnis, der auf die Datei /path/to/file zeigt: ln -s /path/to/file /path/to/symlink_file Ersetzen Sie /path/to/file durch den tatsächlichen Dateipfad und /path/to/symlink_file durch den gewünschten Symlink-Namen. In diesem Beispiel ist der Dateipfad absolut. Sie können auch einen symbolischen Link mit einem relativen Pfad erstellen. Beachten Sie jedoch, dass für das korrekte Funktionieren des Symlinks alles, was darauf zugreift, zunächst das richtige Arbeitsverzeichnis setzen muss, sonst scheint der Link defekt zu sein. Symbolische Links zu Verzeichnissen erstellen Sie können den Befehl ln verwenden, um einen symbolischen Link zu erstellen, der auf ein Verzeichnis zeigt. Der folgende Befehl erstellt beispielsweise einen symbolischen Link namens symlink_directory im aktuellen Verzeichnis, der auf das Verzeichnis /path/to/directory zeigt: ln -s /path/to/directory /path/to/symlink_directory Dieser Befehl erstellt einen symbolischen Link namens symlink_directory an Ihrem aktuellen Speicherort, der mit dem Verzeichnis /path/to/directory verknüpft ist. Symbolischen Link zwangsweise überschreiben Sie können die Option -f mit dem Befehl ln verwenden. Wenn beispielsweise der Pfad in einem Symlink aufgrund eines Tippfehlers falsch ist oder wenn das Ziel verschoben wurde, können Sie den Link wie folgt aktualisieren: ln -sf /path/to/new-reference-dir symlink_directory Die Verwendung der Option -f stellt sicher, dass der Inhalt des alten Symlinks durch das neue Ziel ersetzt wird. Sie entfernt außerdem automatisch alle in Konflikt stehenden Dateien oder Symlinks, falls ein Konflikt besteht. Wenn Sie versuchen, einen Symlink ohne die Option -f zu erstellen und der Symlink-Name bereits vergeben ist, schlägt der Befehl fehl. Symbolische Links überprüfen Sie können den Inhalt eines Symlinks mit dem Befehl ls -l in Linux anzeigen: ls -l symlink_directory Die Ausgabe zeigt den Symlink und sein Ziel: symlink_file -> /path/to/reference_file Hier ist symlink_file der Name des Symlinks, und er zeigt auf die Datei /path/to/reference_file. ls -l /path/to/symlink Die Ausgabe zeigt den Symlink und sein Ziel. Bewährte Vorgehensweisen für symbolische Links Verwenden Sie beschreibende Namen für symbolische Links. Vermeiden Sie zirkuläre Links, um Systemverwirrungen zu verhindern. Aktualisieren Sie Symlinks, wenn sich der Speicherort des Ziels ändert. Anwendungsfälle für symbolische Links Verwaltung von Konfigurationsdateien: Verknüpfen von Konfigurationsdateien über Systeme hinweg. Versionskontrolle: Symbolisches Verlinken gemeinsamer Bibliotheken für Entwicklungsprojekte. Datensicherung: Erstellen symbolischer Links zu Backup-Verzeichnissen. Mögliche Fallstricke und Fehlerbehebung Berechtigungsprobleme: Stellen Sie sicher, dass für die Quelle und den Symlink die richtigen Berechtigungen gesetzt sind. Defekte Links: Aktualisieren Sie Symlinks, wenn Zieldateien verschoben oder gelöscht wurden. Dateisystemübergreifende Links: Symlinks funktionieren möglicherweise nicht über verschiedene Dateisysteme hinweg. Fazit Symlinks sind wertvoll, um die Dateiverwaltung und Systemwartung zu optimieren. Sie vereinfachen Aktualisierungen über mehrere Anwendungen hinweg, die eine gemeinsame Datei verwenden, und reduzieren so die Wartungskomplexität. Sie bieten außerdem eine Alternative zu Verzeichnissen wie /etc, die häufig Root-Zugriff für Dateibearbeitungen erfordern. Entwickler finden Symlinks hilfreich, um nahtlos zwischen lokalen Testdateien und Produktionsversionen zu wechseln. Wenn Sie diesem Tutorial gefolgt sind, haben Sie die Kunst der Erstellung symbolischer Links in Linux gemeistert. Nutzen Sie Symlinks für eine effiziente Dateiverwaltung und Anpassung.
15 December 2025 · 6 min to read
Linux-System

Wie man Benutzer in Linux auflistet

Die Verwaltung und Absicherung eines Linux-Systems erfordert eine sorgfältige Überwachung und Verwaltung der Benutzer. Zu wissen, wer Ihr System nutzt und welche Aktionen ausgeführt werden, ist entscheidend für die Sicherheit und Effizienz eines Servers oder Computers unter Linux. Diese Anleitung behandelt verschiedene Methoden, um Benutzer in Linux zu überprüfen – sowohl über das Terminal als auch über die grafische Oberfläche (insbesondere die Gnome-Shell). Die hier beschriebenen Methoden helfen Ihnen, Informationen über Benutzerkonten, deren Aktivitäten, Login-Verlauf und mehr zu erhalten. Es gibt mehrere Möglichkeiten, Benutzerkonten anzuzeigen. Im Folgenden stellen wir zwei Bereiche vor, die erklären, wie Sie die Liste der Linux-Benutzer über das Terminal oder die grafische Oberfläche abrufen können. Terminal In diesem Abschnitt untersuchen wir Methoden zur Anzeige der Linux-Benutzer über die Befehlszeile. /etc/passwd Datei Die Datei /etc/passwd enthält Informationen über alle registrierten Benutzer im System. Jede Zeile entspricht einem Benutzerkonto und enthält Name, Passwort, Benutzer-ID (UID), Gruppen-ID (GID), zusätzliche Informationen (GECOS), Home-Verzeichnis und Login-Shell. Um den Inhalt der Datei anzuzeigen, nutzen Sie: cat /etc/passwd Sie können die Datei auch in einem Texteditor wie nano oder vim öffnen. Wenn Sie beispielsweise einen Cloud-Server von Hostman mit einem Nicht-Admin-Benutzer nutzen, kann die Datei wie folgt aussehen: (Beispielausgabe eingefügt im Originaltext) Wie oben zu sehen ist, wird das Passwort aus Sicherheitsgründen als x dargestellt. Die tatsächlichen Passwörter befinden sich in /etc/shadow. Wenn Sie nur die Namen der Benutzer anzeigen möchten: sed 's/:.*//' /etc/passwd who Befehl Der Befehl who zeigt eine Liste der aktiven Benutzer, einschließlich Name, Terminal, Login-Datum und -Uhrzeit sowie ggf. der IP-Adresse. who Wenn Sie nur die Benutzernamen der aktuell angemeldeten Nutzer benötigen: users Der Unterschied zwischen who und users liegt im Detailgrad:who zeigt umfangreichere Informationen, während users nur die aktiven Benutzernamen ausgibt. w Befehl Der Befehl w liefert eine detaillierte Liste aktiver Benutzer, einschließlich deren aktueller Aktivitäten, Login-Zeit und Systemlast: w last Befehl Mit last können Sie den Login-Verlauf aller Benutzer anzeigen. Dazu gehören Datum, Uhrzeit und die Quelle der Anmeldung – nützlich zur Überwachung und Erkennung potenzieller Sicherheitsprobleme. last lastlog Befehl Der Befehl lastlog zeigt die letzten Login-Zeiten aller Benutzer an: lastlog Grafische Oberfläche Für Nutzer, die eine grafische Oberfläche bevorzugen, erklären wir, wie man Benutzer über grafische Tools unter Linux überprüft. Der Fokus liegt auf Gnome, da KDE Plasma entsprechende Werkzeuge nicht mehr unterstützt. In Gnome gibt es mindestens zwei Möglichkeiten, Benutzer anzuzeigen. „Benutzer“-Menü Öffnen Sie die Einstellungen über „Aktivitäten“ → „Einstellungen“. Wählen Sie den Tab Benutzer. Klicken Sie auf Entsperren (oben rechts), um alle Funktionen freizuschalten. Oben sehen Sie die vorhandenen Benutzer, darunter deren Details und Einstellungen. „Benutzer“-Dienstprogramm Sie können auch das Tool gnome-system-tools installieren: sudo apt install gnome-system-tools (Unter anderen Distributionen variieren die Befehle: dnf für Fedora, pacman -S für Arch, usw.) Nach der Installation öffnen Sie das Tool über das Suchmenü und wählen Benutzer. Hier können Sie: die Liste der Konten anzeigen, Konten bearbeiten, Kontotyp, Passwort und weitere Parameter ändern. Zusammenfassung Zur Anzeige von Benutzern in Linux stehen folgende Terminal-Methoden zur Verfügung: /etc/passwd – enthält alle Benutzerkonten. who – zeigt aktive Benutzer und Details. w – zeigt aktive Benutzer und deren aktuelle Prozesse. last – zeigt den Login-Verlauf. lastlog – zeigt die letzten Logins aller Benutzer. Unter der Gnome-Oberfläche können Sie Folgendes verwenden: das Menü Benutzer, das Dienstprogramm gnome-system-tools. Zu wissen, wer sich an Ihrem System anmeldet und welche Aktionen ausgeführt werden, hilft Ihnen, Probleme frühzeitig zu erkennen und Ihr System effektiv zu verwalten. Wählen Sie die Methode aus dieser Anleitung, die am besten zu Ihren Anforderungen passt.
12 December 2025 · 4 min to read

Haben Sie Fragen
oder benötigen Sie Unterstützung?

Unsere Fachleute stehen Ihnen jederzeit zur Verfügung –
egal ob Sie Hilfe benötigen oder nicht wissen, wo Sie anfangen sollen.
E-Mail an uns
Hostman's Support