Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FUNDATEC 2025

Banco de DadosPostgreSQL
Código
qa699037
Banca
FUNDATEC
Órgão
IF Sertão PE
Ano
2025
Cargo
Tec ( )
A administração de um servidor PostgreSQL envolve a manipulação de arquivos de configuração essenciais para controlar seu comportamento. Entre eles, há um arquivo responsável por gerenciar a autenticação de clientes, estabelecendo quais usuários podem se conectar, de quais endereços IP e qual método de autenticação será adotado, como md5, trust, etc. Qual arquivo de configuração desempenha essa função primordial de controle de acesso e segurança?
  1. Apg_hba.conf
  2. Bpg_ident.conf
  3. Cpg_pass.conf
  4. Dpostgresql.conf
  5. Epostgresql.auto.conf
Revelar gabarito e comentário

GabaritoA — pg_hba.conf

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Arquivos de Configuração do PostgreSQL: Controle de Acesso

Gabarito: letra A. O arquivo pg_hba.conf é o responsável por gerenciar a autenticação de clientes no PostgreSQL, definindo quais usuários podem se conectar, de quais endereços IP e qual método de autenticação será utilizado (md5, trust, etc.). A sigla HBA significa host-based authentication (autenticação baseada em host), e o arquivo é examinado sequencialmente a cada tentativa de conexão.

O PostgreSQL utiliza diversos arquivos de configuração para controlar seu comportamento. O postgresql.conf é o arquivo principal, onde ficam os parâmetros gerais do servidor (como listen_addresses, port, max_connections). O postgresql.auto.conf é um arquivo secundário, gerenciado automaticamente pelo servidor (por exemplo, quando se usa ALTER SYSTEM). Já o pg_ident.conf é usado para mapear nomes de usuários do sistema operacional para nomes de usuários do banco de dados, quando o método de autenticação é ident ou peer. O pg_hba.conf, por sua vez, é o arquivo de controle de acesso: ele define as regras de autenticação baseadas no host de origem, no banco de dados, no usuário e no método de autenticação.

A função primordial do pg_hba.conf é justamente a de segurança e controle de acesso: ele é a primeira barreira que um cliente encontra ao tentar se conectar. Cada linha do arquivo é um registro que especifica o tipo de conexão (local, host, hostssl, etc.), o intervalo de endereços IP do cliente, o nome do banco de dados, o nome do usuário e o método de autenticação (trust, md5, scram-sha-256, etc.). O servidor lê o arquivo de cima para baixo e usa a primeira regra que corresponder à tentativa de conexão. Por isso, a ordem das regras é crucial: regras mais específicas devem vir antes das mais genéricas.

Um exemplo prático: se você deseja permitir que apenas o IP 192.168.1.100 se conecte ao banco app com o usuário admin usando senha criptografada (md5), você adicionaria uma linha como: host app admin 192.168.1.100/32 md5. Se houvesse uma regra anterior permitindo trust para qualquer IP, essa regra específica seria ignorada, pois o servidor usa a primeira correspondência. Isso mostra como o pg_hba.conf é o arquivo central para a segurança do acesso.

A pegadinha desta questão está em confundir o pg_hba.conf com o pg_ident.conf ou com o postgresql.conf. O pg_ident.conf não define métodos de autenticação, apenas mapeia usuários do SO para usuários do banco. O postgresql.conf contém parâmetros de configuração geral, mas não as regras de autenticação por host. O postgresql.auto.conf é um arquivo auxiliar, gerenciado automaticamente, e não é o principal para controle de acesso. O pg_pass.conf não existe no PostgreSQL (é um distrator).

Guarde a distinção: pg_hba.conf = quem pode se conectar e como; pg_ident.conf = mapeamento de usuários; postgresql.conf = parâmetros gerais do servidor. É exatamente essa fronteira que separa as alternativas.

Alternativa A — ✅ Correta ⟵ GABARITO

O pg_hba.conf é o arquivo de configuração que gerencia a autenticação de clientes no PostgreSQL. Ele estabelece, por meio de registros sequenciais, quais usuários podem se conectar, de quais endereços IP e qual método de autenticação será adotado (md5, trust, etc.). A sigla HBA significa host-based authentication, e o arquivo é examinado sequencialmente para cada tentativa de conexão. É o arquivo primordial de controle de acesso e segurança.

Alternativa B — ❌ Incorreta

O pg_ident.conf é usado para mapear nomes de usuários do sistema operacional para nomes de usuários do banco de dados, quando o método de autenticação é ident ou peer. Ele não define quais usuários podem se conectar nem os métodos de autenticação (md5, trust, etc.). A banca troca o arquivo de autenticação baseada em host pelo arquivo de mapeamento de identidade.

Alternativa C — ❌ Incorreta

O arquivo pg_pass.conf não existe no PostgreSQL. Não há um arquivo com esse nome na configuração padrão do servidor. É um distrator criado pela banca para confundir o candidato que não conhece os arquivos reais.

Alternativa D — ❌ Incorreta

O postgresql.conf é o arquivo de configuração principal do servidor, onde ficam os parâmetros gerais como listen_addresses, port, max_connections, shared_buffers, etc. Ele não é responsável por gerenciar a autenticação de clientes por host; essa função é do pg_hba.conf. A banca troca o arquivo de autenticação pelo arquivo de configuração geral.

Alternativa E — ❌ Incorreta

O postgresql.auto.conf é um arquivo de configuração secundário, gerenciado automaticamente pelo servidor (por exemplo, quando se usa o comando ALTER SYSTEM). Ele não é o arquivo responsável pelo controle de acesso e autenticação de clientes. A banca troca o arquivo principal de autenticação por um arquivo auxiliar.

Gabarito: letra A

Link permanente: /questoes/qa699037