Saturday, May 17, 2008

Re: [pgsql-es-ayuda] Configurando un usuario.

Para retirar el permiso de conectarse a una base de datos, usa REVOKE CONNECT sobre las bases de datos y usuarios que sean necesarios, pero también tendrías que retirar el mismo privilegio del rol PUBLIC, pues de otra forma el usuario lo seguiría heredando.

Esto último podría afectar a tus otros usuarios en esa base de datos, pero creo que sería un buen motivo para comenzar a organizar mejor los permisos, por ejemplo, creando un rol por base de datos y asignándole a éste el privilegio de conectarse, luego a los nuevos usuarios les harás parte de este rol sólo si quieres que accedan, pues por default no podrían conectarse (si retiras el privilegio connect sobre dicha base de datos al rol public).

Sobre el problema con GRANT, podrías detallar un poco más, como el mensaje de error que te aparezca, y los permisos almacenados en la tabla pg_database.

El día 17 de mayo de 2008 11:15, Pablo Braulio <brulics@gmail.com> escribió:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hola a todos.

Tengo una cuestión sobre el modo de configurar los permisos de acceso de
un usuario, que necesito su ayuda.

Tengo que darle acceso a un cliente a mi servidor postgres, en el que
hay varias bases de datos. La cuestión es que sólo pueda acceder a una
base de datos determinada y no al resto.

Lo que me encuentro es que si creo el usuario en la consola (linux) con
createuser, puede acceder a todas las bases de datos.

He probado creando el usuario con:
 CREATE USER user NOCREATEDB nosuperuser;

Pero si hago:

 psql db_no_permitida

Puede entrar.

Y por otro lado le doy permisos para la base de datos que me interesa:

GRANT ALL ON DATABASE db_permitida to user with grant option;

Pero no la puede ver, pues esa bd la he creado con mi usuario (superuser).

He visto en la documentación de postgres 8.2 la sintaxis de GRANT y que
se puede dar permisos sobre las tablas, pero esto sería una locura pues
la base de datos tiene mas de 100 tablas.

¿Existe alguna manera de hacer esto?.


- --

< ¡¡Nos vemos!!  >
 ----------------------------
   \
    \
                                  .::!!!!!!!:.
 .!!!!!:.                        .:!!!!!!!!!!!!
 ~~~~!!!!!!.                 .:!!!!!!!!!UWWW$$$
     :$$NWX!!:           .:!!!!!!XUWW$$$$$$$$$P
     $$$$$##WX!:      .<!!!!UW$$$$"  $$$$$$$$#
     $$$$$  $$$UX   :!!UW$$$$$$$$$   4$$$$$*
     ^$$$B  $$$$\     $$$$$$$$$$$$   d$$R"
       "*$bd$$$$      '*$$$$$$$$$$$o+#"
            """"          """""""
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFILwS1K7lGsMchFswRAsG2AJ9QzOrla+1sFgGma1YqWvb+ITyZfACggiDW
8Ryu37+lvwF7PzW7Gt/hv+U=
=ZSgU
-----END PGP SIGNATURE-----
--
TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net

No comments: