]> granicus.if.org Git - apache/blob - support/suexec.h
SuExec should use /usr/local/apache2 not /usr/local/apache as the default
[apache] / support / suexec.h
1 /* ====================================================================
2  * The Apache Software License, Version 1.1
3  *
4  * Copyright (c) 2000-2002 The Apache Software Foundation.  All rights
5  * reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  *
11  * 1. Redistributions of source code must retain the above copyright
12  *    notice, this list of conditions and the following disclaimer.
13  *
14  * 2. Redistributions in binary form must reproduce the above copyright
15  *    notice, this list of conditions and the following disclaimer in
16  *    the documentation and/or other materials provided with the
17  *    distribution.
18  *
19  * 3. The end-user documentation included with the redistribution,
20  *    if any, must include the following acknowledgment:
21  *       "This product includes software developed by the
22  *        Apache Software Foundation (http://www.apache.org/)."
23  *    Alternately, this acknowledgment may appear in the software itself,
24  *    if and wherever such third-party acknowledgments normally appear.
25  *
26  * 4. The names "Apache" and "Apache Software Foundation" must
27  *    not be used to endorse or promote products derived from this
28  *    software without prior written permission. For written
29  *    permission, please contact apache@apache.org.
30  *
31  * 5. Products derived from this software may not be called "Apache",
32  *    nor may "Apache" appear in their name, without prior written
33  *    permission of the Apache Software Foundation.
34  *
35  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
36  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
37  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
38  * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
39  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
42  * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
43  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
44  * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
45  * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
46  * SUCH DAMAGE.
47  * ====================================================================
48  *
49  * This software consists of voluntary contributions made by many
50  * individuals on behalf of the Apache Software Foundation.  For more
51  * information on the Apache Software Foundation, please see
52  * <http://www.apache.org/>.
53  */
54
55 /*
56  * suexec.h -- user-definable variables for the suexec wrapper code.
57  *             (See README.configure on how to customize these variables.)
58  */
59
60
61 #ifndef _SUEXEC_H
62 #define _SUEXEC_H
63
64 /*
65  * HTTPD_USER -- Define as the username under which Apache normally
66  *               runs.  This is the only user allowed to execute
67  *               this program.
68  */
69 #ifndef AP_HTTPD_USER
70 #define AP_HTTPD_USER "www"
71 #endif
72
73 /*
74  * UID_MIN -- Define this as the lowest UID allowed to be a target user
75  *            for suEXEC.  For most systems, 500 or 100 is common.
76  */
77 #ifndef AP_UID_MIN
78 #define AP_UID_MIN 100
79 #endif
80
81 /*
82  * GID_MIN -- Define this as the lowest GID allowed to be a target group
83  *            for suEXEC.  For most systems, 100 is common.
84  */
85 #ifndef AP_GID_MIN
86 #define AP_GID_MIN 100
87 #endif
88
89 /*
90  * USERDIR_SUFFIX -- Define to be the subdirectory under users' 
91  *                   home directories where suEXEC access should
92  *                   be allowed.  All executables under this directory
93  *                   will be executable by suEXEC as the user so 
94  *                   they should be "safe" programs.  If you are 
95  *                   using a "simple" UserDir directive (ie. one 
96  *                   without a "*" in it) this should be set to 
97  *                   the same value.  suEXEC will not work properly
98  *                   in cases where the UserDir directive points to 
99  *                   a location that is not the same as the user's
100  *                   home directory as referenced in the passwd file.
101  *
102  *                   If you have VirtualHosts with a different
103  *                   UserDir for each, you will need to define them to
104  *                   all reside in one parent directory; then name that
105  *                   parent directory here.  IF THIS IS NOT DEFINED
106  *                   PROPERLY, ~USERDIR CGI REQUESTS WILL NOT WORK!
107  *                   See the suEXEC documentation for more detailed
108  *                   information.
109  */
110 #ifndef AP_USERDIR_SUFFIX
111 #define AP_USERDIR_SUFFIX "public_html"
112 #endif
113
114 /*
115  * LOG_EXEC -- Define this as a filename if you want all suEXEC
116  *             transactions and errors logged for auditing and
117  *             debugging purposes.
118  */
119 #ifndef AP_LOG_EXEC
120 #define AP_LOG_EXEC "/usr/local/apache2/logs/cgi.log"   /* Need me? */
121 #endif
122
123 /*
124  * DOC_ROOT -- Define as the DocumentRoot set for Apache.  This
125  *             will be the only hierarchy (aside from UserDirs)
126  *             that can be used for suEXEC behavior.
127  */
128 #ifndef AP_DOC_ROOT
129 #define AP_DOC_ROOT "/usr/local/apache2/htdocs"
130 #endif
131
132 /*
133  * SAFE_PATH -- Define a safe PATH environment to pass to CGI executables.
134  *
135  */
136 #ifndef AP_SAFE_PATH
137 #define AP_SAFE_PATH "/usr/local/bin:/usr/bin:/bin"
138 #endif
139
140 #endif /* _SUEXEC_H */