Re: [HACKERS] Command Locations (was Re: HISTORY for 6.5....)

From: Lamar Owen <lamar(dot)owen(at)wgcr(dot)org>
To: Michael Simms <grim(at)argh(dot)demon(dot)co(dot)uk>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [HACKERS] Command Locations (was Re: HISTORY for 6.5....)
Date: 1999-09-19 19:17:29
Message-ID: 99091915330200.00572@lowen.wgcr.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sun, 19 Sep 1999, Michael Simms wrote:
> One idea, which takes into account the thought that moving the admin commands
> out of /usr/bin is a good thing, but moving them into /usr/sbin is bad, and
> we want to keep it simple for new people.
>
> Hows about the commands are stored in ~postgres (or whateber you are using
> as an admin account). This is obviously configurable with --admin-dir in the
> configure script.

Under RedHat, ~postgres is /var/lib/pgsql, not the _obvious_ /home/postgres.
No, there needs to be a particular place for such commands. And /usr/sbin is
THE FSSTND-mandated place (now called the FHS -- www.pathname.com/fhs). Quoting
FHS 2.0:
---------------------------------------
Filesystem Hierarchy Standard

4.7 /usr/sbin : Non-essential standard system binaries

This directory contains any non-essential binaries used exclusively by the system
administrator. System administration programs that are required for system
repair, system recovery, mounting /usr, or other essential functions should be
placed in /sbin instead.

Typically, /usr/sbin contains networking daemons, any non-essential administration t
ools, and binaries for non-critical server programs. These server programs are used
when entering the System V states known as "run level 2" (multi-user state)
and "run level 3" (networked state) or the BSD state known as "multi-user
mode". At this point the system is making services available to users (e.g.,
printer support) and to other hosts (e.g., NFS exports).

-----------------------
Now, looking into my /usr/sbin, I find two owners -- root, and uucp. That's
right -- most of the uucp stuff that is not executed except during daemon-time
(uucico, uuxqt, and friends) is in /usr/sbin. Making the database service
available in "multi-user" mode is a good job for a binary in /usr/sbin.

Now, this is only if PostgreSQL is being installed in an FHS-compliant manner.
Otherwise, make a /usr/local/pgsql/sbin.

It might be useful to provide an FHS-compliant configure option (hey, it would
make it easier for us packagers ;-)).

> a ) new admins that arent familiar with a system will likely have . in the
> user paths, thus the commands will work

Whoa. Hold on. Having '.' in PATH is a _major_ security hole. It is almost
never a good idea for '.' to be on the PATH. If you want to go the ~postgres
route, make a bin or sbin dir under ~postgres, and add '~postgres/bin' to PATH
in .profile.

IMHO.

Lamar Owen
WGCR Internet Radio

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Lamar Owen 1999-09-19 19:33:21 Re: [HACKERS] Re: HISTORY for 6.5.2
Previous Message Tom Lane 1999-09-19 18:48:28 Anyone understand shared buffer refcount mechanism?