scriptkiddieclub

Lesezeit: ca. 3 Minuten

Linux für Einsteiger: Ordnerstrukturen

Zusammenfassung

Die Ordnerstruktur von Linuxsystemen ist eine Baumstruktur, die mit dem Stammverzeichnis (auch Wurzelverzeichnis genannt) / beginnt. Alle anderen Verzeichnisse (auch als Ordner bezeichnet) sind Unterordner von Root. Die Ordnerstruktur ist standardisiert, um die Kompatibilität zwischen verschiedenen Linux-Distributionen zu gewährleisten. Die meisten Distributionen folgen dem Filesystem Hierarchy Standard (FHS), der von der Linux Foundation herausgegeben wird. Durch die Kenntnis der Ordnerstruktur kannst du Dateien und Verzeichnisse besser navigieren und verwalten.

Die Ordnerstruktur

Die Verzeichnisse im Stammverzeichnis „gehören“ dem root User. Loggst du dich ein, wirst du dich standardmäßig nicht als root eingeloggt, sondern als z. B. User kali. Falls du in diesen Verzeichnissen Dinge bearbeiten willst, musst du dies immer im Kontext von root tun – also sudo benutzen.

/

(Stammverzeichnis): Das Wurzelverzeichnis des Dateisystems. Beispiel: /home/scriptkiddie/Downloads – Hier ist das erste / das Stammverzeichnis. Anders gesagt, ist alles vor dem ersten / das root-Verzeichnis. Verglichen mit Windows könnte man dies mit dem „C:\“ Laufwerk vergleichen.

/bin

(Binärdateien): Enthält grundlegende ausführbare Dateien, die zum Starten und Reparieren des Systems benötigt werden. Beispiel: /bin/ls – Der ls-Befehl zum Auflisten von Dateien und Ordnern.

/boot

Boot-Dateien: Hier werden Dateien für den Bootloader und den Kernel des Betriebssystems gespeichert. Beispiel: /boot/vmlinuz-5.4.0-101-generic – Der Kernel des Betriebssystems.

/dev

Gerätedateien: Enthält Dateien, die physische und virtuelle Geräte im System darstellen. Beispiel: /dev/sda – Die erste Festplatte im System.

/etc

Systemkonfigurationsdateien: Hier werden Konfigurationsdateien für das Betriebssystem und verschiedene Anwendungen gespeichert. Beispiel: /etc/network/interfaces – Netzwerkkonfigurationsdateien. Beispielsweise liegen die berühmten passwd und sudoers Dateien hier. Ersteres enthält grundlegende Informationen zu Benutzerkonten. Zweiteres enthält die verschlüsselten Passwörter zu den Benutzerkonten.

/home

Benutzerverzeichnisse: Hier werden die Benutzerverzeichnisse erstellt, die persönliche Dateien und Einstellungen für jeden Benutzer enthalten. Beispiel: /home/scriptkiddie – Das Heimatverzeichnis für Benutzer.

/lib und /lib64

Bibliotheksdateien: Enthält gemeinsam genutzte Bibliotheksdateien, die von verschiedenen Programmen verwendet werden. Beispiel: /lib/x86_64-linux-gnu/libc.so.6 – Die C-Bibliothek.

/media und /mnt

Gemountete Dateisysteme: Hier werden temporäre Dateisysteme und externe Geräte wie USB-Sticks gemountet. Beispiel: /mnt/usb – Ein USB-Stick, der im Verzeichnis /mnt/usb gemountet ist.

/opt

Optionale Software: Enthält zusätzliche Softwareanwendungen, die nicht zum Grundsystem gehören. Beispiel: /opt/google/chrome – Der Google Chrome-Browser. Falls du Tools den Kali installieren oder Skripte ablegen möchtest, kann du das in /opt machen.

/proc und /sys

Pseudo-Dateisysteme: Diese Verzeichnisse bieten Zugriff auf Informationen über laufende Prozesse und Systemeinstellungen. Beispiel: /proc/cpuinfo – Informationen über die CPU des Systems.

/tmp

Temporäre Dateien: Hier werden temporäre Dateien von Anwendungen und dem System erstellt. Beispiel: /tmp/tempfile.txt – Eine temporäre Textdatei. Sofern du Datei, Skripte, etc. für dein Pentest auf das Zielsystem übertragen möchtest/musst, ist dieser Ort ein gute Idee. In der Regel, hat haben alle Benutzer per Default Schreib- und Leserechte für diesen Ordner.

/usr

Anwendungsdateien: Enthält Anwendungsprogramme, Bibliotheken und Dokumentationen. Beispiel: /usr/bin/firefox – Der Firefox-Browser.

/var

Variable Daten: Speichert variable Daten wie Protokolle, Datenbanken und andere Dateien, die während des Betriebs des Systems erstellt oder geändert werden. Beispiel: /var/log/syslog – Das Systemprotokoll.

/srv

Dienstbezogene Daten: Hier werden datenbezogene Dienste gespeichert, die vom System bereitgestellt werden. Beispiel: /srv/www – Webinhalte, die vom Webserver bereitgestellt werden.

Lernkurve

Je alltäglicher die Arbeit mit Unixsystemen wird, desto eher sollte man alle Ordner und deren Zwecke kennen. Für den Einstieg bewegt man sich erfahrungsgemäß in den folgenden Verzeichnissen:

  • etc
  • home
  • mnt
  • opt
  • tmp
  • usr
  • var