Rethinking the Datacenter Sponsored by HP
Today's datacenters need to increase utilization, get control over power and cooling costs, and align with business objectives. Download this eBook to learn about the challenges facing the data center in a world where digital information is growing at a torrid pace and costs are being held in check. Learn more. »
Putting the Green into IT Sponsored by HP
Electricity use in data centers is skyrocketing, sending energy bills through the roof, creating environmental concerns and generating negative publicity. "Going Green" means looking to technologies like virtualization, energy-efficient chips and racks, and implementing policies that extend beyond the data center. Learn more. »
Managing the Modern Network Sponsored by HP
In a global economy where information crosses the globe in an instant, and where Web-based applications power business, it's more important than ever to ensure your network is safe from threats and optimized to deliver the data your business needs. »
Evaluating Software as a Service for Your Business
Sponsored by Webroot
Is Software as a Service just hype, or is something really going on here? See if your company can benefit as SaaS tries to change the face of the enterprise.
»
Is Your Disaster Recovery Plan Good Enough? Sponsored by HP
Preparing for a disaster is more often than not part of the storage planning process, and it is one of the most difficult tasks, since it includes local hardware and software, networking equipment, and a test plan. Learn how to get disaster recovery right. »
Using Apache with Suexec on Linux Executing CGI Scripts as Other Users Ken Coar
Friday, January 21, 2000 01:07:47 PM
The Apache Web server, like most if not all of the others in common
use today, lets you execute arbitrarily complex operations
through the use of CGI scripts. These can involve database
lookups, system administration functions, real-time control
of machinery, online payments, or almost anything else
you can think of.
Ordinarily, all of these things occur in the context of the user
running the Apache server itself (typically nobody
on Linux systems). This is fine when you're using a system that
is owned and used by a single entity...but what if you're an
ISP with multiple companies being hosted on your system? Or an
educational institution with faculty who want to be able to
execute their own scripts? Either everything has to be accessible
to the Apache nobody user, or you have to run
multiple instances of Apache on multiple ports and IP addresses,
one of each per user,
with the concomitant confusion of configuration files.
On the other hand, if the server is to be allowed to change its identity,
it needs to be done in a controlled manner, so that the chance
of compromising your system's security is kept to a minimum. (Remember,
Apache is usually started as root and only changes
to nobody later!)
The suexec (pronounced 'SUE-ex-Ek')
tool helps make this possible. It's found in the
src/support/ directory under your Apache source tree.
Assumptions in This Article
For the rest of this article, I'm going to make
the following assumptions:
your Apache source tree starts at
./apache-1.3/
your Apache ServerRoot is
/usr/local/web/apache
your Apache DocumentRoot is
/usr/local/web/htdocs
the username under which Apache runs (the value of the
User directive in your httpd.conf file)
is nobody
All of the cd and other shell commands in this article
that refer to directories use these locations.