Assumpte RE: Re: Assumpte RE: Re: [Pgsql-ayuda] listado de bases de datos
Manuel Sugawara
masm@fciencias.unam.mx
05 Dec 2003 11:00:58 -0600
[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';
>=20
> usesuper | usecatupd
> ----------+-----------
> f | f
> (1 row)
>=20
> con \z pg_catalog.pg_class
> Access privileges for database "postgres"
> Table | Access privileges
> -------+-------------------
> (0 rows)
>=20
> con \z pg_catalog.pg_database
> Access privileges for database "postgres"
> Table | Access privileges
> -------+-------------------
> (0 rows)
>=20
> Aunque haga un revoke ALL on pg_database FROM PUBLIC; sigue apareciendo i=
gual que arriba,
>=20
> y desde el usuario 'martin' se pueden consultar estas tablas.
>=20
> Creo que ya queda menos :)
>=20
> Gracias mil
>=20
> ---------------------------------
>=20
>=20
> Revisa que el usuario que no quieres que vea las cosas no sea un
> superusuario, lo puedes hacer con algo como
>=20
> select usesuper, usecatupd=20
> from pg_shadow
> where usename =3D 'el nombre del usuario aqui';
>=20
> y revisa tambi=E9n cuales son los permisos de pg_class y pg_database,
> desde psql dale
>=20
> \z pg_catalog.pg_class
> \z pg_catalog.pg_database
>=20
> Y nos cuentas.
>=20
> Saludos,
> Manuel.