From: | "Fernando Moreno" <azazel(dot)7(at)gmail(dot)com> |
---|---|
To: | "Pablo Braulio" <brulics(at)gmail(dot)com> |
Cc: | postgres <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Configurando un usuario. |
Date: | 2008-05-17 16:56:25 |
Message-ID: | b1c45530805170956x7d4e7b8bl9418b079abab8381@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
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(at)gmail(dot)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
>
From | Date | Subject | |
---|---|---|---|
Next Message | Juan Manuel Fernandez | 2008-05-17 17:16:48 | Deadlocks en PostgreSQL |
Previous Message | Pablo Braulio | 2008-05-17 16:15:49 | Configurando un usuario. |