Der Befehl hidepid
wird verwendet, um zu verhindern, dass Benutzer alle sehen Prozesse, die nicht zu ihnen gehören, bietet aber keine Möglichkeit, einen bestimmten Prozess auszuwählen. Ist es möglich, nur einen auszublenden Prozess auf einem Linux-Rechner?
Akzeptierte Antwort:
Ein bisschen schmutzig, und es gibt wahrscheinlich eine sauberere Lösung (vielleicht mit SELinux oder grsec), aber Sie können einen Prozess verstecken, indem Sie ein leeres Verzeichnis innerhalb von /proc/<pid>
mounten .
Zum Beispiel so etwas:
mount -o bind /empty/dir /proc/42
verhindert, dass normale Benutzer Prozess 42 sehen.
Sie werden jedoch sehen, dass etwas verborgen ist, da sie den Einhängepunkt sehen können.
Wenn Sie dies für einen Dienst tun möchten, müssten Sie dies jedes Mal tun, wenn er gestartet wird, indem Sie sein Init-Skript oder was auch immer verwenden.
Wenn Sie die PID nur vor einem bestimmten Benutzer verbergen möchten, könnten Sie mit Namespaces spielen (vielleicht mit pam_namespace
), um die Einbindung nur im Namensraum des Zielbenutzers durchzuführen.
Um dies rückgängig zu machen, führen Sie einfach Folgendes aus:
umount /proc/42