Prueba el script y luego me confirmas. Al menos en mi caso particular no
debo darle todos los permisos como tu. Asi que deberas cambiar SELECT por
lo que te sirva.
El 26/06/2012 14:50, "Guillermo Villanueva" <[email protected]>
escribió:

> Muchas gracias Felipe!
>
>
>
> El día 25 de junio de 2012 16:23, Felipe Montecino <[email protected]>
> escribió:
> > Como les mencione, hice un script para poder dar permisos a las bases de
> > datos si bien no es el mejor script del mundo pero como mencionaban mas
> > arriba me encontraba en la misma situacion.
> >
> > 1.- crear archivo pgpass para que el script no pregunte password 1
> millon de
> > veces (dependera de las tablas que hayan en la bd).
> >
> > cat > .pgpass << EOF
> > localhost:5432:somebd:someuser:somepasswd
> > EOF
> >
> > 1.1.- cambiar permisos de solo lectura y escritura para el usuario.
> >
> > chmod 600 .pgpass
> >
> > 2.- crear archivo bd.sql, este script listara las tablas, secuencias,
> etc.
> >
> > cat > bd.sql << EOF
> > \c somebd
> > \d
> > EOF
> >
> > 3.- script en bash que asigna permisos para que solamente pueda hacer
> > select's para mas informacion podrian visitar el siguiente enlace:
> > http://www.postgresql.org/docs/9.0/static/sql-grant.html
> >
> > Por command line:
> >
> > for table in $(psql -Usomeuser <  bd.sql | grep -r public | awk '{print
> > $3}'); do psql -Usomeuser -dsomebd -c "grant select on public.$table to
> > USERWITHGRANT with grant option"; done
> >
> > Donde USERWITHGRANT sera el otro usuario no owner con permisos de SELECT
> > sobre las tablas de la bd.
> >
> > La salida del comando deberia ser algo como ...
> >
> > GRANT
> > GRANT
> > GRANT
> > GRANT
> > GRANT
> > GRANT
> > GRANT
> > GRANT
> >
> > Dependera de los parametros que le pasemos al psql para poder mas
> detalle.
> >
> > Saludos.
> >
> > El 25 de junio de 2012 13:22, Felipe Montecino <[email protected]> escribió:
> >
> >> Encontre la forma de hacerlo. En un rato mas les envio el script :).
> >>
> >> El 23/06/2012 23:09, "Alvaro Herrera" <[email protected]>
> escribió:
> >>
> >>>
> >>> Excerpts from Guillermo Villanueva's message of sáb jun 23 21:28:45
> -0400
> >>> 2012:
> >>>
> >>> > El 22 de junio de 2012 19:31, Alvaro Herrera
> >>> > <[email protected]>escribió:
> >>>
> >>> > > Podrías, por ejemplo, tener roles "dueno_dbprod" y
> >>> > > "dueno_dbpruebas", y que el rol que usas tú para conectarte tenga
> >>> > > acceso
> >>> > > a ambos; en cambio a tu cumpa le das acceso solamente a
> >>> > > dueno_dbpruebas.
> >>> > >
> >>> > la idea está buena, pero vuelvo a lo mismo: dueno_dbprod lo pongo
> como
> >>> > owner de dbprod pero para que pueda hacer de todo en la dbpruebas
> >>> > deberé
> >>> > darle acceso uno por uno a cada uno de los objetos, como te digo, es
> >>> > una
> >>> > buena idea pero perdón por insistir, no resuelve mi problema
> principal:
> >>> > dar
> >>> > acceso completo a la base sin hacerlo owner.
> >>>
> >>> Entiendo tu punto, pero ¿qué diferencia hay entre el dueño de la BD y
> >>> otro usuario que puede hacer cualquier cosa?
> >>>
> >>> --
> >>> Álvaro Herrera <[email protected]>
> >>> -
> >>> Enviado a la lista de correo pgsql-es-ayuda
> >>> ([email protected])
> >>> Para cambiar tu suscripción:
> >>> http://www.postgresql.org/mailpref/pgsql-es-ayuda
> >
> >
> >
> >
> > --
> >
> > --
> > Correo no firmado o cifrado
> >
>

Responder a