Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 10 Nov 2002 09:59:44 +0000
From:      Matthew Seaman <m.seaman@infracaninophile.co.uk>
To:        FreeBSD maillist <freebsd-questions@FreeBSD.ORG>
Subject:   Re: CGI using suidperl question?
Message-ID:  <20021110095944.GB67029@happy-idiot-talk.infracaninophi>
In-Reply-To: <20021110090537.27379.qmail@web20003.mail.yahoo.com>
References:  <20021110090537.27379.qmail@web20003.mail.yahoo.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 10, 2002 at 01:05:37AM -0800, Vincent Chen wrote:
> Hi, all
> 
> I got to write a CGI to handle network interface on
> freebsd. After some tests have done, I found a
> possible issue.My apache running as www and my cgi has
> suid bit set,it seems that suidperl only set euid, but
> real uid still www and some tasks can be done. This is
> the output that my CGI call /usr/bin/id:
> 
> uid=80(www) euid=0(root) gid=80(www) groups=80(www)
> 
> Is it possible to hide real uid www and replace it wit
> root?

See the perlvar(1) manual page (or equivalently 'perldoc perlvar'):

       $REAL_USER_ID

       $UID

       $<      The real uid of this process.  (Mnemonic: it's the
               uid you came from, if you're running setuid.)

       $EFFECTIVE_USER_ID

       $EUID

       $>      The effective uid of this process.  Example:

                   $< = $>;            # set real to effective uid
                   ($<,$>) = ($>,$<);  # swap real and effective uid

               (Mnemonic: it's the uid you went to, if you're
               running setuid.)  < $< > and < $ >> can be swapped
               only on machines supporting setreuid().

	Cheers,

	Matthew

-- 
Dr Matthew J Seaman MA, D.Phil.                       26 The Paddocks
                                                      Savill Way
                                                      Marlow
Tel: +44 1628 476614                                  Bucks., SL7 1TH UK

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021110095944.GB67029>