sql >> Base de Datos >  >> RDS >> PostgreSQL

No se solicita contraseña para el superusuario de postgresql

Tu pg_hba.conf de hecho, debería requerir una contraseña para las conexiones de socket de Unix, pero aún hay formas de evitarlo que debe verificar:

  1. un .pgpass archivo en el directorio de inicio de postgres que contiene la contraseña (verifique también el PGPASSFILE variable de entorno para una ruta no estándar).

  2. la PGPASSWORD se podría configurar la variable de entorno.

Y también existe la posibilidad de que esté editando el archivo pg_hba.conf incorrecto. Cuando se conecta como postgres, se puede obtener la ruta correcta para verificar con SHOW hba_file Comando SQL.

Además, es posible que desee comprobar el archivo de registro, /var/log/postgresql/postgresql-9.1-main.log para confirmar que los archivos de configuración se vuelven a cargar cuando lo solicite, y busque cualquier mensaje sospechoso durante la autenticación.

En cuanto a la razón por la cual las conexiones sin contraseña con el usuario de postgres son comunes, el debian PG-9.1 pg_hba.conf tiene este comentario sobre no permitirlos:

# DO NOT DISABLE!  
# If you change this first entry you will need to make sure that the  
# database superuser can access the database using some other method.  
# Noninteractive access to all databases is required during automatic  
# maintenance (custom daily cronjobs, replication, and similar tasks).  
#  
# Database administrative login by Unix domain socket  
local   all             postgres                                peer  

Dado que Debian y Ubuntu usan los mismos paquetes de postgres, esto también se aplica a Ubuntu.