Prüfen, ob ein Prozess gechrootet ist

Heute habe ich nur einen relativ kurzen Tipp, der mir jedoch sehr weitergeholfen hat.

Ich bin derzeit dabei, Dovecot und Postfix einzurichten und sehe mir dabei auch an, wie die einzelnen Teile ordentlich gechrootet werden können. Beim Chrooten läuft man jedoch immer wieder in das Problem, nicht genau zu wissen, ob das, was man da gerade fabriziert hat, wirklich funktioniert.

Wie ich nun lernen durfte, gibt es ein Hilfsmittel, mit denen man die Funktion des Chrootings kontrollieren kann. Gemeint ist der "/proc/" Ordner im System. Dort wird für alle laufenden Prozesse ein Unterordner angelegt, der entsprechend der zugehörigen Prozess-ID benannt ist. Dieser Ordner ist durchaus interessant - so entspricht der Besitzer und die Gruppe des Prozessordners der UID und der GID des Prozesses.

In dem Ordner befinden sich drei Symlinks - "cwd", "exe" und "root" - ersterer zeigt auf das aktuelle Arbeitsverzeichnis des Prozesses, zweiterer zeigt auf den Pfad der ausgeführten Datei und letzerer verweist auf das Verzeichnis, in dem der Prozess gechrootet wurde. Es gibt auch ein paar spannende Textdateien - z.B. "cmdline", "environ" und "maps" - wobei erstere die Aufrufparameter des Prozesses enthält, zweitere die Umgebungsvariablen, mit denen der Prozess arbeitet und letztere sämtliche Libraries, die vom Prozess angebunden sind. Mit den passenden Rechten kann man sich sogar im "./fd/" Unterordner umsehen - dort wird auf alle Dateien verwiesen, die von dem Prozess verwendet werden. 🙂

Mit diesen Informationen ließe sich lustigerweise ein eigener "ps"-Befehl implementieren.

Wenn man nun also wissen will, ob das eingerichtete Chrooting wirklich funktioniert, kann man sich die notwendige Prozess-ID besorgen und sich anschließend mit folgendem Befehl das Chroot-Verzeichnis anzeigen lassen:

1
sudo ls -la /proc/<Prozess-ID>/root

Praktisch. 🙂

Gechrootete Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.