xterm
LLeweLLyn Reese
llewelly at lifesupport.shutdown.com
Thu Jul 17 19:22:00 PDT 2003
Lowell Gilbert <freebsd-questions-local at be-well.no-ip.com> writes:
> "Gerald S. Stoller" <gs_stoller at hotmail.com> writes:
>
> > FreeBSD 4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Apr 21 10:54:49 GMT 2001
> > jkh at narf.osd.bsdi.com:/usr/src/sys/compile/GENERIC i386
> >
> > When working in a Unix system, I like to work with several
> > windows (if possible) and organize my work among them. I use xterm
> > (as on the line 'xterm &') to open new windows. Recently, I wanted
> > to check on my processes and issued the command 'ps -l' and was
> > surprised to not find any xterm processes among them. So I issued
> > the command 'ps -la' and there I found the xterm processes but they
> > were owned by root , not by me who had issued the command. Even
> > though I wasnt listed *by the ps la command as the
> > owner, I could still kill the xterm processes. I dont know
> > where the incongruity is, in the kernels tables or in the
> > reporting by ps .
> >
> > In multi-user (commercial) systems, I believe that the user
> > who invokes the xterm processes is (listed as) its owner.
> > I prefer that all processes running in FreeBSD be owned by
> > the user who invoked them, the exceptions being some system ( root )
> > processes used in the login process. (The xterm processes are
> > included here as non-system processes, so they should be owned by the
> > user who invoked them.) I would like to see FreeBSD changed to
> > reflect this, but the bug reporting site is down now. If anyone knows
> > of any reasons why the current operation is correct and should be left
> > as is, please inform me.
>
> xterm is suid-root, because it needs to open a terminal. The *shell*
> running in the xterm should be owned by the user, but the user doesn't
> have sufficient permissions for opening the terminal.
>
> I believe you're wrong about X behaving otherwise on other Unix
> systems.
[snip]
I'm seeing rxvt processes started by uid 1001 showing up as uid 1001
with ps -l and ps -la. (xterm behaves as you describe, however).
So I don't think that's the whole story. Also, I don't see why a
program needing a terminal couldn't suid root, chown the terminal,
and then suid original user. (I note the TT field of all my xterms
shows up as '??', but the tty indicated by the TT field of my rxvt
processes is owned by the user that started the rxvt.) I don't
pretend to know precisely why any of this, however.
More information about the freebsd-questions
mailing list