O pg_passwd é uma ferramenta para tratar arquivos de senhas texto. Estes arquivos podem controlar a autenticação dos clientes do servidor PostgreSQL. Mais informações sobre como configurar este mecanismo de autenticação podem ser encontradas no Guia do Administrador.
O formato do arquivo de senhas texto é uma entrada por linha; os campos de cada entrada são separados por dois-pontos (:). O primeiro campo é o nome do usuário, o segundo campo é a senha criptografada. Demais campos são ignorados (para permitir que arquivos de senha sejam compartilhados entre aplicativos que usam formato similar). O pg_passwd permite aos usuários adicionar entradas neste arquivo interativamente, alterar as senhas das entradas existentes, e criptografar estas senhas.
Forneça o nome do arquivo de senhas como um argumento para o pg_passwd. Para ser usado pelo PostgreSQL, o arquivo deve estar localizado no diretório de dados do servidor, e o nome base do arquivo deve estar especificado no arquivo de controle de acesso pg_hba.conf .
$ pg_passwd /usr/local/pgsql/data/senhas File "/usr/local/pgsql/data/senhas" does not exist. Create? (y/n): y Username: guest Password: Re-enter password:
onde as mensagens Password: e Re-enter password: requerem a entrada da mesma senha, que não é exibida no terminal. Observe que a senha está limitada a oito caracteres úteis por restrições da rotina de criptografia(3) da biblioteca padrão.
O arquivo original de senhas é renomeado para senhas.bk.
Para usar este arquivo de senhas, coloque uma linha como a mostrada abaixo no arquivo pg_hba.conf:
host meu_bd 133.65.96.250 255.255.255.255 password senhas
que permite o acesso ao banco de dados meu_bd pelo hospedeiro 133.65.96.250 usando as senhas listadas no arquivo senhas (e somente aos usuários listados neste arquivo).
Note: Também é útil existirem entradas com o campo de senha vazio, o que é diferente de uma senha vazia, no arquivo de senhas. Estas entradas permitem restringir os usuários que podem acessar o sistema. Estas entradas não podem ser gerenciadas pelo pg_passwd, mas o arquivo de senhas pode ser editado manualmente.