[comp.unix.sysv386] SCO UNIX and setuid

ingea@IFI.UIO.NO (Inge Arnesen) (12/06/90)

SCO UNIX SysV/386 3.2 has introduced login UID (LUID) as account
identification. Once set, it cannot be changed (with setuid(2)). Is it
possible to have  a daemon running as root with the LUID not set and to set
the LUID from a forked child ?

The problem is that a daemon needing root privilages cannot execute commands
like system("lp -dprinter /tmp/test") on behalf of another user, since lp
uses the LUID to identify the user and LUID cannot be changed.....


Inge (BoB)  { ingea@ifi.uio.no }
=========================================================================
==   Inge Arnesen, University of Oslo, Norway.                         ==
==                                                                     ==

lws@comm.wang.com (Lyle Seaman) (12/19/90)

ingea@IFI.UIO.NO (Inge Arnesen) writes:

>SCO UNIX SysV/386 3.2 has introduced login UID (LUID) as account
>identification. Once set, it cannot be changed (with setuid(2)). Is it
>possible to have  a daemon running as root with the LUID not set and to set
>the LUID from a forked child ?

Yup.  This is the crux of the reason that certain TCP/IP daemons don't
work correctly when you run "/etc/tcp start" manually, and why certain
other daemons don't work correctly UNLESS you run "/etc/tcp start" manually.

-- 
Lyle                  Wang           lws@capybara.comm.wang.com
508 967 2322     Lowell, MA, USA     Source code: the _ultimate_ documentation.