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
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral