Laufenden Prozess in screen Sitzung verschieben

Was wenn der nur eben laufende Passwort-Angriff oder das schnell gestartete Backup nicht in einer screen Sitzung läuft, es aber sollte weil die SSH-Sitzung beendet werden soll? In diesem Fall hilft das kleine Werkzeug reptyr weiter. Das Programm ist zusammen mit einer kleinen Änderungen in der Datei sysctl.conf in der Lage, den Elterprozess eines Programmes zu ändern.

Diese Änderungen hat den Effekt, dass ein Programm inklusive Ein- und Ausgabe plötzlich statt unterhalb einer SSH-Sitzung unterhalb einer screen Sitzung läuft.

Um sich alle Elter-/Kind-Beziehungen der laufenden Prozesse anzeigen zu lassen, eignet sich der Befehl pstree.

Installation

apt-get install reptyr

In der Datei /etc/sysctl.d/10-ptrace.conf den Wert kernel.yama.ptrace_scope auf 0 setzen oder um das Programm direkt auszuprobieren folgenden Befehl verwenden.

sudo sysctl -w "kernel.yama.ptrace_scope=0"

Verwendung

Die Prozessid (PID) des zu migrierenden Befehl mit den bekannten Werkzeugen wie top oder ps suchen und in der screen Sitzung den folgenden Befehl eingeben.

reptyr pid

Leider ist der Komfort nicht kostenlos, denn es müssen die restriktiven PTrace Einstellungen gelockert werden. Darum unbedingt die Sicherheits-Implikationen in der Datei /etc/sysctl.d/10-ptrace.conf lesen.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.