Re: Disable executing external commands from psql? - Mailing list pgsql-general

From Tom Lane
Subject Re: Disable executing external commands from psql?
Date
Msg-id 12036.1275438621@sss.pgh.pa.us
Whole thread Raw
In response to Re: Disable executing external commands from psql?  (Ken Tanzer <ken.tanzer@gmail.com>)
Responses Re: Disable executing external commands from psql?
Re: Disable executing external commands from psql?
List pgsql-general
Ken Tanzer <ken.tanzer@gmail.com> writes:
>> The better way to go about that is to not let them have an account on
>> the server machine in the first place.

> Somehow, exposing my database ports to the internet scares me more than
> any (possibly crazy) stuff I'm trying to do.  :)

If you're exposing the ability to run psql, what makes you think you're
not effectively exposing the database?

> But seriously I think I need to give them accounts--I'm setting up
> online instances of a web app, so they have a set of (editable) PHP
> files, possibly some storage, a log file, etc.  It seemed that setting
> each up as its own user was better than going through some uber-process
> that had access to all the files.

How are you going to let them edit the PHP files, or read the log file,
if all they can get to is psql?

> Just to be clear, cause I'm a little thick sometimes, it is not possible
> to do this?

You could always build your own lobotomized version of psql.  I think
though that (a) this is not likely to close all the holes and (b) the
whole concept needs rethinking anyway.  psql is *meant* to be executed
on the client side.  You're trying to put the firewall in the wrong
place, and what you're mainly going to accomplish is annoy your users.
You will for example be making it awfully difficult for them to use
\copy, \i, \e, \g, the list goes on.

            regards, tom lane

pgsql-general by date:

Previous
From: Ernesto Quiñones
Date:
Subject: Re: PosttgreSQL on AIX
Next
From: John R Pierce
Date:
Subject: Re: PosttgreSQL on AIX