Olá, pessoal

Há tempos atrás descobri um "problema" com o comando revoke, mas como não
precisei no momento deixe meio de lado, mas hoje precisei dele e tiver que
fazer uma solução que acredito não ser a ideal.

Objetivo:

Não permitir que o usuário jpaulo acesse o banco produção.

Detalhe: O usuário jpaulo não é superuser.

Conectado como superuser fiz o executei o seguinte comando:

REVOKE CONNECT ON DATABASE producao FROM jpaulo;

Ao fazer: psql -U jpaulo -d producao a conexão é bem sucedida, porém não
deveria ser porque o privilégio de connect foi revogado pelo revoke acima.

O que eu fiz para que funcionasse da forma correta:

REVOKE CONNECT ON DATABASE producao FROM PUBLIC;

Desta forma o usuário jpaulo não consegue acessar o banco produção, porém
para que os outros usuários possam acessar o banco de produção é necessário
fazer:

GRANT CONNECT ON DATABASE producao TO usuario;

Alguém sabe porque o PostgreSQL tem este comportamento com relação ao
revoke. Ao o momento não encontrei explicação, mas continuo em busca de uma
:)

Abraços







-- 
JotaComm
http://jotacomm.wordpress.com
http://www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a