SuEXEC: Difference between revisions
wikify 'nobody', add the 'apache' |
|||
Line 15: | Line 15: | ||
== External Links and References== |
== External Links and References== |
||
⚫ | |||
* [http://httpd.apache.org/docs/2.2/suexec.html apache.org - suEXEC Support] |
|||
⚫ | |||
* [http://ianpurton.com/recompile-suexec-to-work-with-apache-virtual-domains-on-fedora/ Recompile suexec to work with Apache Virtual Domains] |
|||
[[Category:Unix software]] |
[[Category:Unix software]] |
||
[[Category:Apache Software Foundation|HTTP Server]] |
[[Category:Apache Software Foundation|HTTP Server]] |
Revision as of 17:44, 28 November 2008
Apache suEXEC is a feature of the Apache Web server. It allows users to run CGI and SSI applications as a different user - normally, all web server processes run as the default web server user (often wwwrun, apache or nobody). The suEXEC feature consists of a module for the web server and a binary executable which acts as a wrapper.
If a client requests a CGI and suEXEC is activated, it will call the suEXEC binary which then wraps the CGI scripts and executes it under the user account of the server process (virtual host) defined in the virtual host directive.
Additionally, suEXEC perform a multi-step check on the executed CGI to ensure security for the server (including path-checks, a limit of permitted commands, etc.)[1]
Example
User "alice" has a website including some CGI scripts in her own public_html folder, which can be accessed by http://server/~alice.
Bob now wants to access some CGI script.
So instead of running all scripts as "wwwrun" (which results in the need that all scripts have to be readable and executable for the "wwwrun" group if the file is owned by that group or for all users otherwise), the scripts in /home/alice/public_html will be wrapped using suEXEC and run with Alice's user ID resulting in higher security and eliminating the need to make the scripts readable and executable for all users or everyone in the "wwwrun" group (instead only alice herself needs to be able to run the script).
Notes
suEXEC was introduced in Apache 1.2. It is now often part of major distributions.
A user can verify the configuration by calling suexec2 -V
as root.