Yes, you read that right. Start a process on a machine but need it to be under tmux? reptyr can fix that. Leave an editor running on your workstation and need to make a quick fix when sshing in from home? reptyr can help. It supports FreeBSD and Linux, though I haven’t had occasion to try the FreeBSD support yet.
It’s a lot more capable than other programs like it, and I am convinced it is actually magic. I have deliberately not read the source code to keep that feeling alive.
Very capable tool, and useful in some cases. Does require security of the ptrace call to be unset (
ptrace_scope
) or set to the default (insecure one).I’m a big fan of using ptrace_scope to restrict
PTRACE_ATTACH
to only allow parents (or grandparents, etc.) to attach to children. Quite useful - this particular security feature was unique to grsecurity and was good enough to be implemented in mainline (changed).If you care about whether user processes should not be able to attach to other processes under the same UID, don’t use it though!