[Pgsql-ayuda] Primera consulta

Alvaro Herrera alvherre@dcc.uchile.cl
Wed, 1 Jan 2003 16:11:28 -0300


On Sat, Dec 21, 2002 at 08:00:17AM +0100, yordy wrote:

> Tengo un postgresql-7.2.2-1 instalado en un RedHat8.0,
> el problema es:

Es una version bastante vieja.  Trata de actualizar a 7.3.1 si puedes,
sobre todo porque en 7.3 el control sobre los permisos es mucho mas
granular.

> 1- en el fichero pg_hba.conf dice, local trust. ahora
> en una tabla dice que un superuser no tiene permisos
> para nada, creo una conexion desde una pagina php que
> tengo alojada en el mismo server linux y puedo hacer
> consultas sobre la tabla, aun sin que este superuser
> tenga permisos sobre la tabla ¿por que?, el servidor
> tratara las conexiones de los superuser como locales?,
> aun si llamo la pagina php desde otra maquina en la
> red.

Nota que tener privilegios de conexión a una base de datos (es decir,
los que se otorgan en pg_hba.conf) y tener privilegios sobre objetos
particulares dentro de esa base de datos (los que se otorgan con GRANT)
son completamente ortogonales.

Nota tambien que los superusuarios pueden hacer practicamente cualquier
cosa al interior de una base de datos.  Manejense con cuidado.  Lee en
el manual de referencia SQL la seccion del comando GRANT.


> 2- los permisos se pueden poner solo a las tablas, a
> las bases de datos no??, en la ayuda dice:GRANT ALL ON
> [TABLE] objectname TO username, [TABLE] es una tabla
> claro esta, pero quien es objectname, trato de ponerle
> los permisos a una base de datos y me dice: ERROR: 
> relation "gestion" not found. donde gestion es la base
> de datos, por que?

En 7.3 puedes restringir los permisos de maneras mucho mas selectivas
que en versiones anteriores.  Te recomiendo echarle un vistazo.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
www.google.com: interfaz de linea de comando para la web.