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 wasn’t listed *by the ‘ps –la’ command as the
> > owner, I could still kill the  xterm  processes.  I don’t know
> > where the incongruity is, in the  kernel’s  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