Verbergen Sie Ihre Prozesse vor anderen Benutzern in Linux

Alle modernen Multitasking-Betriebssysteme, einschließlich Linux, führen für jede ausgeführte Aufgabe eine Reihe von Prozessen aus. Eine Notepad-Anwendung ist ein Prozess, ein Terminalfenster ist ein Prozess, der SSH-Server ist ein Prozess, jede SSH-Verbindung ist ein Prozess und so weiter. Linux plant die verschiedenen Systemressourcen (CPU-Zeit, Speicher, E/A), sodass jeder Prozess ausgeführt werden kann.

Um die Liste der aktuell laufenden Prozesse anzuzeigen, können Sie den Befehl ps verwenden. Versuchen Sie Folgendes in einem Terminal:

Die Aux-Parameter weisen PS an, alle Systemprozesse mit zusätzlichen Informationen darüber aufzulisten, wem die Prozesse gehören und welche Aufrufparameter verwendet wurden.

Wie Sie sehen, zeigt die Liste Prozesse, die verschiedenen Benutzern gehören, darunter „pi“ (der Standard-Raspbian-Benutzer auf einem Raspberry Pi), „root“ und „www-data“. Hier ist ein leicht modifizierter Screenshot, der die Prozesse zusammen mit ausführlicheren Details zu den Befehlen und ihren Parametern zeigt.

Wenn Sie die Liste durchsehen, sehen Sie den Befehl nano MYBANKACCOUNTNUMBER.TXT, der dem Benutzer „john“ gehört. Stellen Sie sich vor, der Dateiname wäre etwas aufschlussreicher als das Beispiel; solche Daten sind für alle Benutzer des Systems sichtbar und könnten für böswillige Zwecke verwendet werden.

Seit dem Linux-Kernel 3.2 gibt es eine Möglichkeit, Benutzer davon abzuhalten, auf Informationen über Prozesse zuzugreifen, die ihnen nicht gehören. Der Befehl ps ruft die Prozessinformationen aus dem Dateisystem /proc ab (wobei „proc“ die Abkürzung für „process“ ist). Es gibt einen neuen Parameter namens „hidepid“, der verwendet wird, wenn das Dateisystem /proc gemountet wird. Damit können Prozesse ausgeblendet und gesteuert werden, wer Zugriff auf die Informationen unter /proc hat.

  • hidepid=0 – Das Standardverhalten, bei dem jeder Benutzer die Dateien unter /proc/PID/ lesen kann
  • hidepid=1 – Das bedeutet, dass Benutzer auf kein anderes Unterverzeichnis als ihr eigenes zugreifen können. Auch Dateien wie cmdline, io, sched*, status und wchan sind für andere Benutzer nicht zugänglich.
  • hidepid=2 – Alles ab hidepid=1 sowie alle /proc/PID/-Unterverzeichnisse werden vor anderen Benutzern verborgen.

Das /proc-Dateisystem kann im laufenden Betrieb mit der Option „remount“ des Mount-Befehls erneut gemountet werden. Um hidepid zu testen, können Sie das /proc-Dateisystem wie folgt erneut mounten:

sudo mount -o remount,rw,hidepid=2 /proc

Jetzt können Sie den PS-Befehl erneut versuchen:

Jetzt werden in der Ausgabe nur noch Prozesse angezeigt, die dem Benutzer „pi“ gehören.

Um diese Änderung dauerhaft zu machen, müssen Sie die Datei „/etc/fstab“ Ihres Pi bearbeiten. Die Datei „fstab“ steuert, welche Dateisysteme beim Start gemountet werden.

Und suchen Sie die Zeile, die lautet:

proc /proc proc-Standardwerte 0 0

Und ändern Sie es in:

proc /proc proc-Standardwerte,hidepid=2 0 0

Beenden Sie den Editor mit „Strg + X“. Starten Sie nun Ihren Raspberry Pi neu. Überprüfen Sie beim Neustart, ob das /proc-Dateisystem mit den richtigen Optionen gemountet wurde. Verwenden Sie zunächst mount und grep, um die aktuellen Optionen anzuzeigen:

Testen Sie nun den PS-Befehl genau so, wie wir es oben getan haben:

Beachten Sie, dass jetzt nur die Prozesse sichtbar sind, die „pi“ gehören. Anders als zuvor, als wir das /proc-Dateisystem neu gemountet haben, ist dies jetzt die permanente Einstellung. Eine Warnung jedoch: Selbst wenn hidepid verwendet wird, kann „root“ weiterhin alle Prozesse und die aufrufenden Parameter sehen.

Die oben verwendete Technik funktioniert auf anderen Linux-Rechnern und -Distributionen, nicht nur auf dem Raspberry Pi mit Raspbian. Wenn Sie Fragen zur Verwendung der Option „hidepid“ im /proc-Dateisystem haben, können Sie diese gerne im Kommentarbereich unten verwenden. Wir werden sehen, ob wir Ihnen helfen können.

Index

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Go up