Cuando se especifica la autenticación trust,
PostgreSQL asume que cualquiera que pueda
conectarse al servidor está autorizado a acceder a la base de datos con
cualquier nombre de usuario de la base de datos que especifique (incluso nombres de superusuario).
Por supuesto, siguen aplicándose las restricciones indicadas en las columnas
database y user.
Este método solo debe utilizarse cuando exista una protección adecuada a
nivel de sistema operativo en las conexiones al servidor.
La autenticación trust es adecuada y muy
cómoda para conexiones locales en una estación de trabajo monopuesto.
Normalmente no es adecuada por sí misma en una máquina
multiusuario. Sin embargo, podrías utilizar trust incluso
en una máquina multiusuario si restringes el acceso al archivo de socket de dominio
Unix del servidor utilizando los permisos del sistema de archivos. Para ello, configura los
parámetros de configuración unix_socket_permissions (y posiblemente
unix_socket_group) tal y como se describe en
Section 19.3. O bien, podrías configurar el
parámetro de configuración unix_socket_directories
para colocar el archivo de socket en un directorio convenientemente restringido.
La configuración de los permisos del sistema de archivos solo ayuda para las conexiones por socket de Unix.
Las conexiones TCP/IP locales no están restringidas por los permisos del sistema de archivos.
Por lo tanto, si deseas utilizar los permisos del sistema de archivos para la seguridad local,
elimina la línea host ... 127.0.0.1 ... de
pg_hba.conf, o cámbiala por un método de
autenticación distinto de trust.
La autenticación trust solo es adecuada para conexiones TCP/IP
si confías en cada usuario de cada máquina a la que se le permite conectarse
al servidor mediante las líneas de pg_hba.conf que especifican
trust. Rara vez es razonable utilizar trust
para conexiones TCP/IP que no sean las procedentes de localhost (127.0.0.1).