Assumpte RE: Re: Assumpte RE: Re: Assumpte RE: Re: [Pgsql-ayuda] listado de bases de datos

ginjol@correu.amicsdelgot.com ginjol@correu.amicsdelgot.com
Fri, 5 Dec 2003 19:17:01 +0100


Curioso, algo debo estar haciendo mal. Si hago lo que indicas=
 abajo funciona, pero si entro en el psql de esta forma "psql -U=
 martinez" me deja hacer la consulta y ver las tablas, pero si lo=
 hago con el "\c -u martinez" no me las deja ver tal como se=
 indica en el ejemplo.

Gracias de nuevo.

Un saludo.


[Por favor no envien correo personal SIN copia a la lista]

Pues sin duda no nos estas diciendo toda la verdad o algo estas
haciendo mal. Aqui todo funciona como deber=EDa:

test=3D# select usecreatedb, usesuper, usecatupd from pg_user where=
 usename =3D 'foo';
 usecreatedb | usesuper | usecatupd
-------------+----------+-----------
 f           | f        | f
(1 fila)
test=3D# revoke ALL on pg_database FROM PUBLIC;
REVOKE
test=3D# revoke ALL on pg_class FROM PUBLIC;
REVOKE
test=3D# \c - foo
Ahora est=E1 conectado como el usuario "foo".
test=3D> \d
ERROR:  permiso denegado a la relaci=F3n pg_class
test=3D> select * from pg_database;
ERROR:  permiso denegado a la relaci=F3n pg_database
test=3D>

Saludos,
Manuel.

<ginjol@correu.amicsdelgot.com> writes:
> Revisando tengo:
> select usesuper, usecatupd from pg_shadow where usename =3D=
 'martin';
> 
>  usesuper | usecatupd
> ----------+-----------
>  f        | f
> (1 row)
> 
> con \z pg_catalog.pg_class
> Access privileges for database "postgres"
>  Table | Access privileges
> -------+-------------------
> (0 rows)
> 
> con \z pg_catalog.pg_database
> Access privileges for database "postgres"
>  Table | Access privileges
> -------+-------------------
> (0 rows)
> 
> Aunque haga un revoke ALL on pg_database FROM PUBLIC; sigue=
 apareciendo igual que arriba,
> 
> y desde el usuario 'martin' se pueden consultar estas tablas.
> 
> Creo que ya queda menos :)
> 
> Gracias mil
> 
> ---------------------------------
> 
> 
> Revisa que el usuario que no quieres que vea las cosas no sea=
 un
> superusuario, lo puedes hacer con algo como
> 
>   select usesuper, usecatupd 
>     from pg_shadow
>    where usename =3D 'el nombre del usuario aqui';
> 
> y revisa tambi=E9n cuales son los permisos de pg_class y=
 pg_database,
> desde psql dale
> 
> \z pg_catalog.pg_class
> \z pg_catalog.pg_database
> 
> Y nos cuentas.
> 
> Saludos,
> Manuel.