martes, 3 de mayo de 2016

Contraseñas PostgreSQL y acceso

No tener contraseña supone un problema de seguridad para programas de conexión a las bases de datos, como por ejemplo PgAdmin. Así lo indica claramente con sus mensajes:

pgAdmin conexión local y contraseñas

La respuesta es editar como administrador el archivo de configuración de PostgreSQL: pg_hba.conf y ponerle como opción de contraseña “trust” en lugar de “MD5”. De esta manera le pedimos que haga el esfuerzo de confiar en nosotros.

opciones contraseña y conexión pg_hba

Reiniciamos el servicio ejecutando
sudo /etc/init.d/postgresql restart

Y ¡¡ya lo tenemos!!

Las bases de datos:

conexión local openERP pgAdmin

Las tablas:

Pero luego resulta que queremos “jugar” desde otras máquinas dentro de la red local. Por lo cual, en vez de decirle que espere conexiones desde la propia máquina o dicho de otra manera, localhost o ip 127.0.0.1, le vamos a poner todas las máquinas del rango 192.168.1.0 al 192.168.1.256, que es como tengo mi red local.

tablas y datos de openERP pgAdmin

Tal y como indicaba el mensaje anterior de PgAdmin se trata de poner 192.168.1.0/24 (en formato CDIR) en la línea de pg_hba.conf
Sin embargo hay otra cuestión de seguridad. No sólo el hecho que permitamos conexiones desde toda la red local, sino también que el servidor PostgreSQL las esté escuchando.

configuración postgresql.conf

Y ahora los cambios se hacen sobre el archivo postgresql.conf para habilitar una línea que diga

listen_adresses ‘*’


Y ya conectamos a la IP local (192.168.1.178 en este caso). Y desde distintos ordenadores…

OjO

La instalación de OpenERP bajo Windows te solicita una contraseña en el instalador. Pero la instalación en linux genera un usuario openerp, pero no le asigna contraseña. Para las instalaciones de Odoo v8 bajo linux el paquete a instalar pasa a ser odoo y el usuario creado para la base de datos y conexión también se llama odoo en lugar de openerp.


Estos son los tres pasos a seguir para cambiar esto:

Paso 1: Añadir contraseña al usuario openerp en PostgreSQL

1- Cambiar rol de usuario a postgres
sudo su postgres
2- Entrar el interfaz de comandos psql
psql
3- Cambiar la contraseña
alter role openerp with password 'password';
ALTER ROLE
4- Salir
\q

Paso 2: Configurar el servidor OpenERP para que use esta nueva contraseña

Editar archivo
/etc/openerp/openerp-server.conf
db_name=laquepone
db_user=openerp
db_password='password'

Paso 3: Configurar PostgreSQL para acceder usando contraseña (como estaba inicialmente)

Editar archivo
pg_hba.conf

host all all 0.0.0.0/0 md5

Editor
Lechiguero

No hay comentarios:

Publicar un comentario