suexec.html revision 091caae3b2ebdb760c98575d0d5e349cd686f913
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<!-- Background white, links blue (unvisited), navy (visited), red (active) -->
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore BGCOLOR="#FFFFFF"
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore TEXT="#000000"
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore LINK="#0000FF"
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore VLINK="#000080"
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore ALINK="#FF0000"
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<!--#include virtual="header.html" -->
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<H1 ALIGN="CENTER">Apache suEXEC Support</H1>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><BIG><STRONG>CONTENTS</STRONG></BIG></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#what">What is suEXEC?</A></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#before">Before we begin.</A></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#model">suEXEC Security Model.</A></LI>
0dc2366f7b9f9f36e10909b1e95edbf2a261c2acVenugopal Iyer <LI><A HREF="#install">Configuring & Installing suEXEC</A></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#enable">Enabling & Disabling suEXEC</A></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#debug">Debugging suEXEC</A></LI>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore <LI><A HREF="#jabberwock">Beware the Jabberwock: Warnings &
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreThe <STRONG>suEXEC</STRONG> feature -- introduced in Apache 1.2 -- provides
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreApache users the ability to run <STRONG>CGI</STRONG> and <STRONG>SSI</STRONG>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreprograms under user IDs different from the user ID of the calling web-server.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreNormally, when a CGI or SSI program executes, it runs as the same user who is
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorerunning the web server.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreUsed properly, this feature can reduce considerably the security risks involved
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorewith allowing users to develop and run private CGI or SSI programs. However,
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreif suEXEC is improperly configured, it can cause any number of problems and
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorepossibly create new holes in your computer's security. If you aren't familiar
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorewith managing setuid root programs and the security issues they present, we
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorehighly recommend that you not consider using suEXEC.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<STRONG><A HREF="suexec.html">BACK TO CONTENTS</A></STRONG>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<H3><A NAME="before">Before we begin.</A></H3>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreBefore jumping head-first into this document, you should be aware of the
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreassumptions made on the part of the Apache Group and this document.
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweFirst, it is assumed that you are using a UNIX derivate operating system that
7014882c6a3672fd0e5d60200af8643ae53c5928Richard Loweis capable of <STRONG>setuid</STRONG> and <STRONG>setgid</STRONG> operations.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreAll command examples are given in this regard. Other platforms, if they are
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorecapable of supporting suEXEC, may differ in their configuration.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreSecond, it is assumed you are familiar with some basic concepts of your
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorecomputer's security and its administration. This involves an understanding
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreof <STRONG>setuid/setgid</STRONG> operations and the various effects they
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoremay have on your system and its level of security.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreThird, it is assumed that you are using an <STRONG>unmodified</STRONG>
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreversion of suEXEC code. All code for suEXEC has been carefully scrutinized and
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoretested by the developers as well as numerous beta testers. Every precaution
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorehas been taken to ensure a simple yet solidly safe base of code. Altering this
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amorecode can cause unexpected problems and new security risks. It is
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<STRONG>highly</STRONG> recommended you not alter the suEXEC code unless you
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreare well versed in the particulars of security programming and are willing to
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreshare your work with the Apache Group for consideration.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreFourth, and last, it has been the decision of the Apache Group to
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amore<STRONG>NOT</STRONG> make suEXEC part of the default installation of Apache.
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'AmoreTo this end, suEXEC configuration requires of the administrator careful
bdb9230ac765cb7af3fc1f4119caf2c5720dceb3Garrett D'Amoreattention to details. After due consideration has been given to the various
<!--#include virtual="footer.html" -->