Re: [Spanish] Asignación de permisos de usuarios a bases de datos PostgreSQL/PostGIS.

Paulo Clavijo paucls at gmail.com
Fri Sep 3 03:38:29 EDT 2010


Hola,
yo no utilizo PostgreSQL en Windows, si no en Linux, pero espero poder
ayudarte.

En primer lugar, tienes que configurar adecuadamente la seguridad a nivel de
tu pg_hba.conf, es decir a nivel de que equipos pueden conectar con el
servidor de BDD.
Indicas que ya tienes configurado el acceso desde cualquier equipo de la
red:
host       all   all  172.16.129.0/24     md5

Pero te falta también permitir el acceso desde tu propio equipo o servidor:
*# "local" is for Unix domain socket connections only
local   all         all                               ident sameuser
# IPv4 local connections:
host    all         all         127.0.0.1/16          md5*

con esto el Error que te da al ejecutar psql, deberia solucionarse.


Y ya por el otro lado esta el tema de la seguridad a nivel de usuarios de
BDD. Lo que tienes que hacer es crearles cuentas de usuarios normales, no
cuentas de superusuarios. Y despues concederles solo los permisos que deses
paras las bdd o tablas adecuadas.

Por ejemplo, yo en linux para crear cuentas utilizo:
$ createuser -P -s -e miUsuario

pero si quiero crear una cuenta de usuario no administrador tengo que
indicarlo explicitamente:
$ createuser -P --no-superuser -e otroUsuario

y partir de aqui, con el usuario propietario de la BDD voy concediendo
permisos a otros usuarios. Por ejemplo:
GRANT SELECT ON tabla1 to otroUsuario;
GRANT SELECT ON tabla2 to otroUsuario;

Documentate un poco respecto a los GRANT
http://developer.postgresql.org/pgdocs/postgres/sql-grant.html



Un saludo !!!



El 3 de septiembre de 2010 01:25, JHONATAN CANO FURAGARO <
jhonatan.cano.f at gmail.com> escribió:

>
> Buen día,
>
> Voy a ser un pco extenso, pero la verdad ya solicite ayuda a el grupo de
> PostgreSQL, y ahora recurro a uds a ver si logro dar en el clavo con este
> tema.
>
> Hasta el momento he estado trabajando postgres solo para servir la
> información cartográfica mediante servicios WMS usando como servidores
> Mapserver y
> geoserver, tengo GeoExt como interfaz del usuario, estoy trabajando con
> PostgreSQL 8.4 y PostGIS 1.5 sobre SO Win XP.
>
> Pero ahora me gustaría que mis compañeros del grupo de trabajo tengas
> acceso a  las bases de datos de cada uno de los proyecto que tengo, todos
> estamos
> en una red local (intranet).
>
> Tengo en "pg_hba.conf" la siguiente línea:
>
> host       all   all  172.16.129.0/24     md5
>
> Con el cual puedo acceder desde cualquier PC de la intranet con el usuario
> postgres (superusuario)  y otra cuenta (jcano) que cree  por pgAdmin III y
> donde
> tambien es superusuario, pero logicamente éste me permite editar la tabla,
> cosa que realmente en estos momentos no quiero que hagan, solo que la puedan
> ver
> y nada más.
>
> Que debo hacer para que  las personas solo puedan ver la información y no
> editarla de tal forma que quede de solo lectura?
>
> He creado varias cuentas, y usando gvSIG logro conectarme a la BD, me
> muestra todas las tablas pero a la hora de seleccionar una de ellas sale un
> aviso (ver figuras gvSIG_1...gvSIG_7):
> "ID no disponible nombreesquema.nombrecapa"
> "ERROR: Permiso denegado al esquema nombreesquema"
> Despues:
> "Hubo un problema al obtener campos con geometrías válidos:"
> "ERROR: Transacción abortada, las órdenes serán ignoradas hasta el fin de
> bloque de transacción:nombreesquema.nombrecapa"
>
> Los mismo pasa con QGIS(ver figuras QGIS_1,2 y3), solo que ahora me dice
> aquí me dice que me hace falta los privilegios para las tablas que posee
> geometría PostGIS.
>
> Todo esto por un lado...ahora lo siguiente:
>
> He tratado de darle privilegios a un usuario para que pueda acceder a la
> base de datos XXYY de la siguiente forma:
>
> Inicio Ejecutar (trabajo en Win XP):
>
> runas /user:postgres cmd
>
> echo ”ALTER DATABASE nombre_basedatos OWNER TO nuevo_usuario” | psql
>
> Y sale el siguiente aviso:
>
> Microsoft Windows XP [Versión 5.1.2600]
> (C) Copyright 1985-2001 Microsoft Corp.
>
> C:\WINDOWS\system32>echo "ALTER DATABASE Espiritusanto OWNER TO rvelez" |
> psql
> psql: FATAL:  no hay una línea en pg_hba.conf para «127.0.0.1», usuario
> «postgre
> s», base de datos «postgres», SSL inactivo
>
> C:\WINDOWS\system32>
>
> No se que me falta, he buscado en la web y nada aún, que estoy haciendo mal
> en todos los pasos?
>
>
> Muchass gracias por sus aporte.
>
>
> --
> JHONATAN CANO FURAGARO
> Ingeniero Forestal
> Universidad Nacional de Colombia
> Celular 300 430 45 46
>
> _______________________________________________
> Spanish mailing list
> Spanish at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/spanish
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/spanish/attachments/20100903/ae461bd0/attachment.html


More information about the Spanish mailing list