tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Reparenting processes?



On Mon, Dec 7, 2020 at 8:55 PM Mouse <mouse%rodents-montreal.org@localhost> wrote:
>
> I've been thinking about building a way to move a job between shells,
> in particular between one window, ssh session, whatever, and another.
>
> Obviously, this will involve much hackery of existing facilities.  For
> example, it involves switching controlling terminals.  I expect I can
> manage most of it without too much trouble - though that's said without
> having actually tried it.
>
> But the real bugaboo in my mind is reparenting processes.
>
> I'm writing here to ask two questions.
>
> One is: does anyone have experience trying this, or otherwise have any
> reports on attempts to do this, to share?  I'd be interested in any.
>
> The other is: is there any security property that such a facility would
> break badly?  (There are lots of minor things that might break, such as
> potentially changing terminal type, but that's basically no different
> from telling the terminal emulator to change emulation on the fly,
> which my terminal emulator has been capable of for decades.  I haven't
> come up with any major security issues yet, but that means little.)
>
> I'm willing to require - indeed, I expect to _want_ to require - that
> the two parents (old and new) be cooperating in this endeavour.  I'm
> willing to require that all three processes be running with the same
> root, though it'd be nice if that weren't necessary.  It would address
> some, though not all, of the desired use cases if all three processes
> have to be running with the same UID.  It would even be of _some_ use
> if it required cooperation from root in some form (a fourth process,
> maybe?).
>
> As far as I can tell, reparenting currently is limited to (1) init
> inheriting orphans and (2) sharply limited partial reparenting due to
> ptrace().



Is there a reason screen or tmux don't work for you?


Home | Main Index | Thread Index | Old Index