example - PostgreSQL métodos de autenticación múltiple
postgresql conf docker (1)
No Solo se admite un método de autenticación para cualquier configuración dada.
Me encantaría si Pg pudiera admitir la autenticación alternativa, donde si una comprobación de identidad falla, permite en su lugar la autenticación md5. No es compatible con esto en este momento, sin embargo, y sospecho (no he verificado) que se requerirá un cambio de protocolo para admitirlo.
Lo que puede hacer es almacenar la contraseña en un archivo $HOME/.pgpass
para el usuario del sistema de postgres
. Dale el modo 0600 para que solo pueda postgres
usuario de postgres
y el usuario root
. Ambos pueden obtener acceso directo a la base de datos y la configuración de todos modos. De esa manera obtienes fácil admin y md5 auth. En algunos sistemas, es posible que tenga que configurar y crear un directorio de inicio para el usuario de postgres
antes de poder hacer esto. Consulte getent passwd postgres
para ver si el usuario de postgres
tiene un homedir y, de ser así, dónde está.
( ACTUALIZACIÓN: se usa para leer $HOME/.psqlrc
, que es útil, pero .pgpass
es adecuado para el almacenamiento de contraseñas)
¿Cómo puedo configurar múltiples métodos de autenticación para la misma regla de host / base de datos / usuario? Quiero poder iniciar sesión en mi usuario de Postgres utilizando sudo -u postgres psql -U postgres
(sin tener que ingresar una contraseña de PostgreSQL) y psql -U postgres --password
. Algo como lo siguiente en pg_hba.conf:
local all postgres md5
local all postgres peer
Solo puedo conseguir que un método o el otro funcionen al mismo tiempo.
Gracias.
(Estoy usando PostgreSQL 9.1).