Re: Re[2]: Permisos de usuario

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Laura Martinelli <lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Re[2]: Permisos de usuario
Date: 2009-04-03 15:41:46
Message-ID: f205bb120904030841p974e504qa1fc474e5ff51ef4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 3 de abril de 2009 11:52, Laura Martinelli
<lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar> escribió:
>
>
> ECF> El día 3 de abril de 2009 10:17, Laura Martinelli
> ECF> <lmartinelli(at)mail(dot)unlu(dot)edu(dot)ar> escribió:
>>> Buenas a todos,
>>>
>>> Tengo la siguiente duda:
>>>
>>> Se tiene una Base de Datos DB1 cuyo dueño es User1. Necesitamos que
>>> otro usuario, User2 tenga permisos de "Superusuario" , que pueda
>>> acceder, borrar, crear y renombrar (tablas, esquemas, vistas, indices,
>>> etc) sobre DB1, sin ser dueño de la misma, pero al mismo tiempo NO
>>> debe tener acceso al resto de las Bases existentes, como lo hace el
>>> superusario.
>>> ¿Es esto posible? ¿De que manera se crearía el usuario User2 y como se
>>> le darían los permisos?
>>>
>>> Espero que puedan ayudarme
>>>
>>> Saludos,
>>> Laura Martinelli
>>>
>
> ECF> Existe una forma que es restringir el acceso desde el pg_hba.conf.
>
> El acceso por el pg_haba.conf lo tengo restringido pero quiero
> tomar todos los recaudos posibles
>
> ECF>  El
> ECF> problema es que con Superusuario puede ejecutar 'drop database xxx'
> ECF> sin ser el dueño o no
> ECF> tener permisos sobre esa base. Ese usuario no podrá ver el contenido
> ECF> por más que sea superusuario.
>
> ECF> No creo que en ese caso te convenga que User2 tenga permisos de Super
> ECF> a menos que quieras que ejecute copy desde csv o haga vacuums...
> Preferiría que no sea superusuario, pero si tenga los permisos que
> detallé.
>

No. Si el usuario no es Owner de la base, no podrá modificar ni crear
schemas dentro de esta. Al menos hasta la versión 8.3.7 (creo que hay
algo pensado para versiones más nuevas, tendría que confirmar)

> ECF> el
> ECF> resto de los permisos se los podes asignar (inclusive: es necesario
> ECF> que tenga permisos de borrar la base? )
> la base no debe poder borrarla pero si por ejemplo renombrar esquemas.
> ¿Puede ser que si creo un usuario, éste se crea dentro del grupo
> public? ¿y que hereda todos sus permisos aunque yo le indique que no
> debe heredar ninguno?

Prueba2 lo cree con la sentencia create user prueba2 noinherit;
trash=# select * from pg_roles where rolname = 'prueba2';
rolname | rolsuper | rolinherit | rolcreaterole | rolcreatedb |
rolcatupdate | rolcanlogin | rolconnlimit | rolpassword |
rolvaliduntil | rolconfig | oid
---------+----------+------------+---------------+-------------+--------------+-------------+--------------+-------------+---------------+-----------+-------
prueba2 | f | f | f | f | f
| t | -1 | ******** | |
| 18853
(1 row)

no hereda nada de ningun permiso.

>
> ECF> La otra es asignar permisos por esquemas.
> No me sirve porque si un usuario tiene permisos para un determinado
> esquema, existe un proceso que se corre en determinados momentos que
> renombra los esquemas por lo que el usuario pierde los privilegios que
> le había dado anteriormente.
>

Tendrás que correr en esa misma sentencia los grants para ese usuario
sobre ese esquema...

> Muchas gracias por tu respuesta.
> Saludos
> Laura.
>
>

De nada, y espero que te sumes al Arpug :)

--
Emanuel Calvo Franco
Sumate al ARPUG !
(www.postgres-arg.org -
www.arpug.com.ar)
ArPUG / AOSUG Member
Postgresql Support & Admin

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message GRUPO SIC, S.A. DE C.V. 2009-04-03 16:05:43 RE: Re[2]: Permisos de usuario
Previous Message Edwin Quijada 2009-04-03 14:58:18 RE: Java + SSL + Postgres ?