Linux-Basics: Alles Rund um die Serverbetriebssysteme

Linux-Basics: Alles Rund um die Serverbetriebssysteme

Linux-Server können anfangs überwältigend sein, besonders wenn du nicht genau weißt, welche Schritte nötig sind, um deinen Server sicher und effizient zu betreiben. Vielleicht stellst du dir Fragen wie: „Was sind die wichtigsten Befehle?“, „Wie halte ich meinen Server auf dem neuesten Stand?“ oder „Wie überwache ich meinen Server, damit er reibungslos läuft?“ Wenn du nicht aufpasst, könnten veraltete Pakete oder fehlende Sicherheitskonfigurationen deinen Server anfällig machen.

Hier kommt dieser Artikel ins Spiel. Als jemand, der sich selbst durch den Lernprozess der Linux-Server-Administration gearbeitet hat, weiß ich genau, wie einschüchternd das Ganze wirken kann. Aber keine Sorge – die Verwaltung eines Linux-Servers muss nicht kompliziert sein, wenn du die grundlegenden Befehle und Prozesse kennst.

In diesem Artikel wirst du die wichtigsten Linux-Kommandos und Techniken lernen, die du brauchst, um deinen Server sicher, aktuell und funktionstüchtig zu halten. Wir decken alles ab: vom Aktualisieren des Systems über das Überwachen wichtiger Statistiken bis hin zur Absicherung deines Servers. Am Ende wirst du genug Wissen haben, um deinen Linux-Server selbstbewusst zu verwalten.

Bist du noch auf der Suche nach einem leistungsstarken und günstigen Hoster? Dann ist 24fire die perfekte Wahl für dich! Zuverlässige Performance zu fairen Konditionen – ideal für deine Projekte. Klicke hier und lege sofort los!

Grundlegende Linux-Befehle für die Server-Verwaltung

Bevor du tief in die Verwaltung eines Linux-Servers einsteigst, ist es wichtig, die grundlegenden Befehle zu beherrschen. Diese Befehle helfen dir, dich auf dem Server zurechtzufinden und alltägliche Aufgaben wie das Bearbeiten von Dateien oder das Navigieren durch Verzeichnisse auszuführen.

Eine der ersten Dinge, die du auf deinem Linux-Server tun wirst, ist das Bewegen durch verschiedene Verzeichnisse und das Verwalten von Dateien. Hier sind einige grundlegende Befehle, die du kennen solltest:

cd (Change Directory):
Mit diesem Befehl wechselst du in ein anderes Verzeichnis. Zum Beispiel führt cd /home/user dich in das Verzeichnis /home/user. Wenn du zum vorherigen Verzeichnis zurückkehren möchtest, verwendest du cd -.

ls (List):
Mit ls kannst du den Inhalt eines Verzeichnisses auflisten. Wenn du mehr Details über die Dateien sehen möchtest (z. B. Rechte und Dateigrößen), kannst du den Befehl mit der Option -l ausführen: ls -l.

pwd (Print Working Directory):
Dieser Befehl zeigt dir den absoluten Pfad des aktuellen Verzeichnisses, in dem du dich befindest. Das ist nützlich, um jederzeit zu wissen, wo du gerade arbeitest.

Dateien bearbeiten

Das Bearbeiten von Dateien ist eine alltägliche Aufgabe auf einem Server, sei es das Anpassen einer Konfigurationsdatei oder das Schreiben eines Skripts. Hier sind einige nützliche Werkzeuge:

nano:
nano ist ein einfach zu bedienender Texteditor, der besonders für Anfänger geeignet ist. Um eine Datei zu bearbeiten, gibst du nano dateiname ein. Der Editor wird direkt im Terminal geöffnet, und die Steuerung erfolgt über Tastenkombinationen (zum Beispiel speicherst du mit CTRL + O und beendest mit CTRL + X).

cat (Concatenate):
Zeigt den Inhalt einer Datei direkt im Terminal an. Das ist nützlich, wenn du den Inhalt einer kleinen Datei schnell einsehen möchtest: cat dateiname.

Aktualisieren und Warten eines Linux-Servers

Ein gut gewarteter Linux-Server ist sicherer und läuft stabiler. Eine der wichtigsten Aufgaben ist es, den Server regelmäßig zu aktualisieren, um sicherzustellen, dass du die neuesten Sicherheitsupdates und Fehlerbehebungen hast. Hier zeige ich dir, wie du das System auf dem neuesten Stand hältst.

Paketmanager und Updates

Je nach verwendeter Linux-Distribution gibt es verschiedene Paketmanager, die du zur Verwaltung und Aktualisierung der Software auf deinem Server nutzen kannst. Hier sind die gängigsten:

Debian/Ubuntu-basierte Systeme


Um alle installierten Pakete zu aktualisieren, führst du die folgenden Befehle aus:

sudo apt update
sudo apt upgrade

Der Befehl sudo apt update aktualisiert die Liste der verfügbaren Pakete, während sudo apt upgrade alle installierten Pakete auf die neueste Version aktualisiert.

CentOS/RHEL-basierte Systeme


Auf CentOS- oder RHEL-Systemen benutzt du yum, um dein System zu aktualisieren:

Fedora und RHEL-Systeme


dnf ist der Nachfolger von yum und wird bei neueren Fedora- und RHEL-Versionen verwendet:

sudo dnf update

Akte Pakete bereinigen

Es kommt häufig vor, dass nach einer Aktualisierung veraltete oder ungenutzte Pakete auf deinem System verbleiben. Diese kannst du sicher entfernen, um Speicherplatz freizugeben und das System sauber zu halten:

sudo apt autoremove

Überwachung des Serverstatus

Die Überwachung deines Linux-Servers ist entscheidend, um sicherzustellen, dass er zuverlässig arbeitet und rechtzeitig Probleme zu erkennen. Hier sind einige der wichtigsten Befehle, mit denen du die Systemleistung und den Zustand deines Servers überwachen kannst.

Systemstatistiken abfragen

top:
top ist ein leistungsstarkes Tool, das dir in Echtzeit zeigt, welche Prozesse auf deinem Server laufen und wie viel CPU, Speicher und andere Ressourcen sie verbrauchen. Um es zu verwenden, gib einfach top ins Terminal ein. Du erhältst eine Liste aller aktiven Prozesse, sortiert nach CPU- oder Speicherverbrauch. Wenn du den Überblick verlieren solltest, kannst du mit q den Befehl beenden.

htop:
htop ist eine benutzerfreundlichere Version von top. Es zeigt die Informationen übersichtlicher und in Farbe an.

df (Disk Free):
Mit dem Befehl df kannst du sehen, wie viel Speicherplatz auf deinen Festplatten verfügbar ist. Wenn du detaillierte Informationen möchtest, kannst du den Befehl mit der Option -h ausführen, um die Größen in menschenlesbarem Format (MB/GB) zu erhalten:

df -h

uptime:
uptime zeigt dir an, wie lange dein Server bereits läuft und wie stark die CPU in dieser Zeit belastet wurde. Dies ist nützlich, um die allgemeine Systemauslastung über Zeiträume zu überwachen:

uptime

Logs überprüfen

Logs sind eine der wichtigsten Informationsquellen, wenn es um die Diagnose von Problemen geht. Hier sind einige grundlegende Befehle, um Logs auf deinem Linux-Server zu überwachen:

tail:
Mit tail kannst du dir die letzten Zeilen einer Datei anzeigen lassen – ideal, um die letzten Einträge in einer Log-Datei zu überprüfen:

tail /var/log/syslog
tail -f /var/log/syslog   # Live-Ansicht der Logs

Mit der Option -f bleibt der Befehl aktiv und aktualisiert die Anzeige in Echtzeit, während neue Logs geschrieben werden.

journalctl:
Viele moderne Linux-Distributionen verwenden das systemd-Journal, um Systemprotokolle zu verwalten. Mit journalctl kannst du diese Logs durchsuchen und analysieren. Um die letzten Einträge im Journal anzuzeigen, verwendest du:

journalctl -xe

dmesg:
Der Befehl dmesg gibt dir einen Überblick über Systemmeldungen, die besonders bei Hardware- und Boot-Problemen hilfreich sind. Diese Logs beinhalten Nachrichten des Kernels, wie z. B. die Erkennung von Hardware oder Treiberfehler:

dmesg

Sicherheit für Anfänger

Die Sicherheit deines Linux-Servers sollte oberste Priorität haben, besonders wenn er mit dem Internet verbunden ist. Selbst einfache Konfigurationsfehler können Angreifern die Tür öffnen. Glücklicherweise kannst du mit einigen grundlegenden Schritten und Befehlen bereits viel tun, um deinen Server abzusichern.

Benutzerrechte und -gruppen verwalten

Ein zentrales Konzept bei der Sicherheit von Linux-Systemen ist das Prinzip der minimalen Rechte: Benutzer sollten nur die Berechtigungen haben, die sie unbedingt benötigen. Hier sind einige grundlegende Befehle, um Benutzerrechte zu verwalten:

chmod (Change Mode):
Mit chmod legst du fest, welche Berechtigungen eine Datei oder ein Verzeichnis hat. Die drei wesentlichen Rechte sind Lesen (r), Schreiben (w) und Ausführen (x). Um zum Beispiel einer Datei die Berechtigung zum Lesen und Schreiben für den Besitzer, aber nur zum Lesen für alle anderen zu geben, verwendest du:

chmod 644 dateiname

chown (Change Ownership):
Mit chown kannst du den Besitzer und die Gruppe einer Datei ändern. Zum Beispiel, um den Besitzer einer Datei auf "user" und die Gruppe auf "admins" zu setzen, gibst du:

sudo chown user:admins dateiname

sudo (Superuser Do):
Der Befehl sudo erlaubt es einem normalen Benutzer, Kommandos mit administrativen Rechten auszuführen. Dies ist ein sicherer Ansatz, da es verhindert, dass Benutzer ständig als root arbeiten (was gefährlich sein kann). Um einen Benutzer zur Liste der sudo-Benutzer hinzuzufügen, kannst du den folgenden Befehl verwenden:

sudo usermod -aG sudo benutzername

Firewalls einrichten

Eine Firewall ist eine der ersten Verteidigungslinien, um unerwünschten Datenverkehr auf deinem Server zu blockieren. Hier sind zwei einfache Tools, um Firewalls auf deinem Linux-Server zu verwalten:

ufw (Uncomplicated Firewall):
ufw ist eine einfach zu bedienende Firewall, die besonders für Anfänger geeignet ist. Du kannst sie aktivieren und Regeln festlegen, um spezifische Ports zu öffnen oder zu schließen. Um die Firewall zu aktivieren und den SSH-Zugriff zu erlauben, verwendest du:

sudo ufw allow ssh
sudo ufw enable

Um beispielsweise den HTTP-Port (80) für Webdienste zu öffnen, kannst du eingeben:

sudo ufw allow 80/tcp

iptables:
iptables ist ein leistungsstärkeres Firewall-Tool, das dir viel mehr Kontrolle bietet. Allerdings ist es etwas komplexer. Hier ist ein einfaches Beispiel, um den Zugriff auf einen bestimmten Port zu blockieren:

sudo iptables -A INPUT -p tcp --dport 80 -j DROP

Dieser Befehl blockiert den TCP-Verkehr auf Port 80. Um die Regel zu löschen, kannst du -D anstelle von -A verwenden.

SSH absichern

SSH (Secure Shell) ist das häufigste Protokoll, um sich sicher mit einem Linux-Server zu verbinden. Die Standardkonfiguration von SSH ist oft ausreichend, aber es gibt einige Schritte, um sie noch sicherer zu machen:

Den Standard-SSH-Port ändern:
Viele Angreifer scannen gezielt nach dem Standard-SSH-Port (22). Du kannst den Port ändern, um dein System weniger anfällig für automatisierte Angriffe zu machen. Bearbeite dazu die SSH-Konfigurationsdatei:

sudo nano /etc/ssh/sshd_config

SSH-Schlüssel verwenden:
Anstelle eines Passworts ist es viel sicherer, SSH-Schlüssel zu verwenden. Du kannst einen SSH-Schlüssel auf deinem lokalen Computer generieren und ihn dann auf den Server übertragen:

ssh-keygen -t rsa -b 4096
ssh-copy-id user@your-server

Damit kannst du dich sicher per Schlüssel authentifizieren, ohne ein Passwort einzugeben.

Backup und Wiederherstellung

Egal, wie gut du deinen Linux-Server verwaltest – ein regelmäßiges Backup ist unerlässlich. Ein Backup schützt dich vor Datenverlust, sei es durch Hardwarefehler, menschliche Fehler oder Cyberangriffe. In diesem Abschnitt zeige ich dir einfache Methoden, um Backups zu erstellen und wiederherzustellen.

Daten sichern

Es gibt viele Tools, um Daten auf einem Linux-Server zu sichern. Hier sind zwei der gängigsten und effektivsten Methoden:

rsync:
rsync ist eines der beliebtesten Tools für Backups. Es ist schnell, effizient und kopiert nur die Daten, die sich geändert haben. Du kannst es sowohl für lokale als auch für entfernte Backups verwenden. Hier ist ein Beispiel für ein einfaches Backup eines Verzeichnisses:

rsync -avz /home/user/backup/ /mnt/backup_drive/

Wenn du das Backup auf einem Remote-Server speichern möchtest, kannst du rsync über SSH verwenden:

rsync -avz /home/user/backup/ user@remote-server:/mnt/backup_drive/

-a steht für „archivieren“, wodurch alle Dateiberechtigungen und Zeitstempel beibehalten werden.
-v bedeutet „verbose“, wodurch du sehen kannst, was kopiert wird.
-z komprimiert die Daten während der Übertragung, was besonders nützlich bei entfernten Backups ist.

tar:
tar ist ein weiteres bewährtes Tool, um Dateien zu komprimieren und zu sichern. Es erstellt Archivdateien, die alle Dateien und Unterverzeichnisse eines bestimmten Verzeichnisses enthalten. Hier ein Beispiel, um ein Verzeichnis zu komprimieren:

tar -czvf backup.tar.gz /home/user/backup/

Mit diesem Befehl wird ein komprimiertes Archiv des Verzeichnisses /home/user/backup/ erstellt und in der Datei backup.tar.gz gespeichert.

-c steht für „create“, um ein neues Archiv zu erstellen.
-z sorgt dafür, dass die Datei komprimiert wird (gzip).
-v zeigt den Fortschritt im Terminal an.
-f gibt den Namen der zu erstellenden Archivdatei an.

Automatisierte Backups mit Cron

Manuelles Sichern ist auf Dauer mühsam, deshalb ist es sinnvoll, automatische Backups mit Cron-Jobs einzurichten. Cron ist ein Dienst, der Befehle zu festgelegten Zeiten ausführt. Du kannst zum Beispiel täglich ein Backup mit rsync erstellen lassen.

Um einen Cron-Job einzurichten, öffne die Cron-Konfiguration:

crontab -e

Füge dann eine neue Zeile hinzu, um jeden Tag um 2 Uhr morgens ein Backup zu erstellen:

0 2 * * * rsync -avz /home/user/backup/ /mnt/backup_drive/

Die Zeitangabe 0 2 * * * bedeutet „täglich um 2:00 Uhr“.

Daten wiederherstellen

Wenn du Daten wiederherstellen musst, ist das genauso einfach wie das Erstellen eines Backups:

rsync:
Um eine zuvor gesicherte Datei oder ein Verzeichnis wiederherzustellen, verwendest du rsync, um die Daten von deinem Backup-Speicherort zurückzukopieren:

rsync -avz /mnt/backup_drive/ /home/user/restore/

tar:
Um eine komprimierte tar-Datei zu entpacken und die Daten wiederherzustellen, verwendest du folgenden Befehl:

tar -xzvf backup.tar.gz -C /home/user/restore/

-x steht für „extract“ (entpacken).
-C gibt das Zielverzeichnis an, in das die Dateien entpackt werden sollen.

Fazit und nächste Schritte

Die Verwaltung eines Linux-Servers mag auf den ersten Blick überwältigend erscheinen, aber sobald du die Grundlagen beherrschst, wird es zu einer überschaubaren und kontrollierbaren Aufgabe. In diesem Artikel hast du gelernt, wie du dich sicher auf deinem Server bewegst, ihn aktuell hältst, wichtige Statistiken überwachst und seine Sicherheit gewährleistest. Ebenso weißt du nun, wie du Daten regelmäßig sicherst und bei Bedarf wiederherstellen kannst.

Um kurz zusammenzufassen:

  • Navigieren und Dateien bearbeiten: Du kannst dich mit grundlegenden Befehlen wie cd, ls und nano sicher durch deinen Server bewegen und Dateien bearbeiten.
  • System aktualisieren: Mit apt, yum oder dnf hältst du deinen Server auf dem neuesten Stand und schützt ihn vor Sicherheitslücken.
  • Überwachung: Mithilfe von top, df und Logs behältst du den Zustand deines Servers im Auge und erkennst potenzielle Probleme frühzeitig.
  • Sicherheit: Mit der Verwaltung von Benutzerrechten, der Einrichtung einer Firewall und der Sicherung von SSH hast du bereits die wichtigsten Schritte zur Absicherung deines Servers unternommen.
  • Backups: Mit Tools wie rsync und tar kannst du jederzeit Backups erstellen und Daten problemlos wiederherstellen.

Die nächsten Schritte? Jetzt, wo du die Basics beherrschst, kannst du dich tiefer in die Materie einarbeiten. Themen wie die Automatisierung von Aufgaben mit Cronjobs, die Optimierung deiner SSH-Konfiguration oder die Implementierung fortgeschrittener Sicherheitsrichtlinien könnten die nächsten Schritte auf deiner Reise sein.