Alisson Viegas | Acsiv Sistemas escreveu:
> O jeito é não dar atributo createuser pra ninguém, já que o banco 
> entende como superuser.
> 
> Aí a aplicação que controlará isso. É uma pena!
> 


Uma possível solução é criar - como superusuário - uma função, com a 
opção SECURITY DEFINER [1], que crie um usuário.

Retire a permissão de execução para todo o esquema [3].

Permita que apenas o usuário desejado execute esta função [2].
GRANT EXECUTE
     ON FUNCTION funcname (...)
     TO rolename

Assim ele poderá criar novos usuários mas não terá os demais 
privilégios de um superusuário.

Veja um exemplo ao final de [1].

[1] 
http://www.postgresql.org/docs/current/interactive/sql-createfunction.html
[2] http://www.postgresql.org/docs/current/interactive/sql-grant.html
[3] http://www.postgresql.org/docs/current/interactive/sql-revoke.html

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a