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 > > >
