QuickTipp: Kommandos im Hintergrund starten mit nohup

Programme, die innerhalb einer Shell – z. B. /bin/bash – gestartet werden warten, normalerweise, auf das Ende ihrer Ausführung und belegen in der Zeit die Konsole.

Einfach lässt sich dies durch das Kommando sleep darstellen:

tux@linux ~ $ sleep 10

Erst 10 Sekunden nach dem Start des Kommandos erscheint ein neuer Prompt und es werden neue Kommandos ausgeführt. Zwar kann man während das Kommando sleep die Konsole belegt schon neue Kommandos eingeben, aber die eigentliche Ausführung startet erst nach Ende des vorherigen Kommandos.

Was passiert nun, wenn das Kommando in eine Shell eingegeben wurde, die über SSH oder ein Fenster unter der graphischen Oberfläche aufgerufen wurde und die Verbindung oder das Fenster geschlossen werden?

Die Definition ist hier recht einfach: Wird einem Prozess der Ausgabekanal an den er gebunden ist entzogen – durch einen Verbindungsabbruch oder Schließen des Fensters – so wird der Prozess beendet.

Um dies zu Verbindern können Prozesse schon beim Start von den Ein- und Ausgabekanälen abgekoppelt und damit vor einem Abbruch durch Verbindungsverlust zum Ausgabekanal geschützt werden.

Dies kann über das Kommando nohup geschehen, der den Ein- und Ausgabekanal des angegebenen Kommandos umleitet. Der Eingabekanal wird hierbei geschlossen und der Ausgabekanal in die Datei nohup.out umgeleitet.

tux@linux ~ $ nohup sleep 10
nohup: ignoriere Eingabe und hänge Ausgabe an 'nohup.out' an

Das Kommando belegt aber weiterhin die Konsole und die neue Eingabeaufforderung erscheint erst nach Ende des Kommandos.

Um das Kommando zusätlich noch im Hintergrund zu starten nutzt man das Job-Management der Shell und fügt an das Kommando den Parameter & an. Dieser fordert die Shell auf das Kommando im Hintergrund laufen zu lassen und nicht die Konsole bis zum Ende der Ausführung zu belegen. Das Kommando wird hierfür in einem Unterprozess der aktuellen Shell gestartet.

tux@linux ~ $ nohup sleep 10 &
[1] 16131
nohup: ignoriere Eingabe und hänge Ausgabe an 'nohup.out' an
tux@linux ~ $

Über die Kommandos jobs, fg und bg sowie der Tastenkombination STRG+z kann mit dem im Hintergrund laufenden Job gearbeitet werden.

Zusätzlich macht es Sinn sich die Kommandos screen und/oder tmux anzuschauen, die es dem Anwender ermöglichen eine Shell auch nach einem Verbindungsverlust weiterzuführen.

QuickTipp: System neustarten ohne init / systemd

Nach einem Ausfall der Festplatte auf einem Server kann es vorkommen, dass die normalen Wege einen Neustart durchzuführen nicht mehr funktionieren.

# reboot
bash: /sbin/reboot: Input/output error
# shutdown -r now
bash: /sbin/shutdown: Input/output error
# init 6
bash: /sbin/init: Input/output error

Das Problem mit der Festplatte verhindert das Laden der Befehle und macht sie somit unnutzbar. QuickTipp: System neustarten ohne init / systemd weiterlesen

Tipp: SSL-Zertifikate im Webserver

Mit den letzten Artikeln dieser Reihe haben wir mit openssl Zertifikate erzeugt und überprüft. In diesem Artikel konfigurieren wir unsere Webserver, um mit den Zertifikaten unsere Webseiten abzusichern.

Die im Artikel angesprochenen Cipher zur Verschlüsselung der Webseiten sind keine sicheren Cipher, sie dienen nur dazu die Positionen zu zeigen an denen Cipher eingefügt werden sollten. Es macht keinen Sinn innerhalb einer Dokumentation sichere Cipher vorzugeben. Daher möchten wir hier auf das BetterCrypto.org – Projekt verweisen, die in ihren Dokumenationen die jeweils aktuellen Cipher besprechen und Vorschläge veröffentlichen. Tipp: SSL-Zertifikate im Webserver weiterlesen

Filesystem Hierarchy Standard (FHS) in Version 3.0 veröffentlicht

Der Filesystem Hierarchy Standard (FHS) stellt eine Richtline für die Installation und Ablage von Dateien in einem  Dateisystem dar.

Durch diese Richtlinie ist es den Distributionen (z. B. Arch Linux, Debian, Gentoo, openSUSE, Ubuntu, uvm. ) möglich die Software auf die Verzeichnisse zu verteilen und, obwohl die Verwalter für die Pakete unteschiedlich sind, gleiche Verzeichnisse für z. B. Bibliotheken, auführbare Programme oder temporäre Dateien einzurichten. Filesystem Hierarchy Standard (FHS) in Version 3.0 veröffentlicht weiterlesen

Tipp: SSL-Zertifikate mit openssl erstellen

Mit dem letzen Artikel  dieser Reihe haben wir
das Thema OpenSSL begonnen und uns Möglichkeiten angesehen,
bestehende Zertifikate von Webseiten auf der Konsole zu
überprüfen.

Um Webseiten mit einer SSL-Verschlüsselung versehen zu können,
muss hierfür neben dem Schlüssel des Servers (Key) ein
Zertifikat (Cert) erzeugt werden, das die Validität des
Schlüssels bestätigt.

Tipp: SSL-Zertifikate mit openssl erstellen weiterlesen

QuickTipp: Partitionstabellen mit sgdisk klonen

Egal ob bei dem ersten Aufsetzen oder bei einem späteren Erweitern eines Software Raids unter Linux, es muss immer auf zusammengehörenden Festplatten die gleichen Daten in die Partitionstabelle eingetragen sein. Die meisten Administratoren lösen das Problem mittels eines manuellen Aufrufs und lassen sich zunächst die alte Partitionstabelle ausgeben und tragen die Daten dann auf der neuen Festplatte ein.

QuickTipp: Partitionstabellen mit sgdisk klonen weiterlesen

QuickTipp: OpenSSL – Gehören Zertifikat und Key zusammen?

Im täglichen Einsatz kann es immer mal wieder vorkommen, dass Dateien oder Daten an sich durcheinander gewürfelt sind. Passiert dies bei Zertifikat-Schlüsseln oder -Zertifikaten ist dies besonders schlimm, da sie dann nicht mehr eingesetzt werden können.

Der erste Test, der durchgeführt werden kann ist der der Test auf einen gemeinsamen Modulus. Dieser Wert kann mit dem Programm openssl aus dem Schlüssel und Zertifikat entnommen werden.
QuickTipp: OpenSSL – Gehören Zertifikat und Key zusammen? weiterlesen

QuickTipp: OpenSSL – Erstellen von Zertifikaten aus bestehenden Zertifikaten

Im Zusammenhang mit dem Heartbleed Bug in OpenSSL müssen die Privaten Schlüssel und Zertifikate der Server ausgetauscht werden, da es durch eine geschickte Nutzung des Bugs möglich ist den Privaten Schlüssel auszulesen und zur Entschlüsselung der per https
übertragenen Daten genutzt werden.

QuickTipp: OpenSSL – Erstellen von Zertifikaten aus bestehenden Zertifikaten weiterlesen