+2

Instalando o PostgreSQL no Linux

criado por Walter Oze em 18/04/2002 9:40am
Permitindo o acesso de outras máquinas ao Banco

O controle de acesso ao banco de dados é feito pelo arquivo /var/lib/pgsql/data/pg_hba.conf. Ele define quais as máquinas que terão acesso ao banco e como os usuários serão identificados. A sintaxe desse arquivo é a seguinte:
host NOME_DB ENDEREÇO_IP MÁSCARA_SUBREDE TIPO_AUT [ARGUMENTO]

NOME_DB - nome do database (all para todos)
Substitua pelo nome da database, ou use all para indicar todas as databases ou use sameuser para restringir o acesso.

ENDEREÇO_IP - Endereço IP da máquina
Endereço IP de uma máquina ou número de uma rede.

MÁSCARA_SUBREDE - Máscara de subrede
Um valor válido para a máscara de rede

TIPO_AUT - Tipo de autenticação
trust – sem especificação de usuário
password - conexão com fornecimento de usuário e senha. Pode passar um argumento informando qual arquivo de senhas será utilizado para autenticação.
crypt - igual a password, mas a autenticação é criptografada para ser enviada pela rede.
ident - A autenticação é feita por um outro servidor. É necessário passar como argumento o caminho do arquivo pg_ident.conf. Esse arquivo contêm o nome do usuário do linux e seu correspondente nome no PostGreSQL.
reject - A conexão é rejeitada

Ex.:
# não permitir acesso da máquina 192.168.54.1
host all 192.168.54.1 255.255.255.255 reject
# permitir acesso sem autenticação à database template pela máquina 192.168.54.6
host template 192.168.54.6 255.255.255.255 crypt

Vamos agora editar o arquivo pg_dba.conf:
# cd /var/lib/pgsql/data
# vi pg_hba.conf
(acrescente ao final do arquivo)
# permitir acesso local ao banco sem autenticação
local all trust
# permitir acesso local
host all 127.0.0.1 255.255.255.255 trust
# permitir acesso a todo banco pela rede 10.10.0.0
host all 10.10.0.0 255.255.0.0 password password.file
(salve e feche o arquivo)

Criando um arquivo de usuários e senha:

# su – postgres
$ createuser nome_usuario
(permissão para criar database = N)
(permissão para criar usuários = N)
$ pg_passwd /var/lib/pgsql/data/password.file
(na primeira execução do comando será perguntado se deseja criar o arquivo )
Username: nome_usuario
New password:
Retype new password:
$ exit

O arquivo pg_ident.conf

Esse arquivo é usado para identificar o usuário Linux com o usuário PostGreSQL quando é passado como tipo de autenticação a cláusula ident no arquivo pg_dba.conf.
Esse arquivo contêm uma tabela com o seguinte formato:

MAP IDENT POSTGRES USERNAME

Comentários:

Mostrando 1 - 4 de 4 comentários
Roberto Vivas disse:
Caros amigos:

Estou usando o PostgreSQL 7.4.7 no Debian. Através do console consigo conectar, executar querys, criar usuários, etc.

Quero usar o PhpPGAdmin, mas não consigo logar no servidor PostgreSQL. Tentei então fazer a configuração descrita na página 6 do seu artigo, mas infelizmente não conseguir executar todos os passos. Especificamente na criação do arquivo de usuários e senhas, pois quando executo:

$ pg_passwd /var/lib/pgsql/data/password.file

dá a seguinte mensagem de erro:

-su: pg_passwd: command not found

Não conseguir achar nada que pudesse resolver o problema, se puderem me ajudar eu agradeço.

Um abraço.

Roberto
Salvador-BA
12/05/2006 10:56am (~18 anos atrás)

Seguiu passo-a-passo seu tutorial e fui bam sucedido. O Banco PostGreSQL
funcionou normalmente e já estou utilizando..

Obrigado
17/02/2004 4:28pm (~20 anos atrás)

Dificilmente se encontra material decente e com clareza na NET! Muito bom mesmo!


Um abraço,
Jorgito Santos
24/04/2002 7:51pm (~22 anos atrás)

Valeu por inserir um tutorial fácil de ser compreendido.

Se foi vc quem o inscreveu, parabéns
19/04/2002 2:10pm (~22 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)