Quand l'authentification trust
est utilisée,
PostgreSQL considère que quiconque peut se
connecter au serveur est autorisé à accéder à la base de données quel que
soit le nom d'utilisateur de bases de données qu'il fournit (même les noms
des superutilisateurs). Les restrictions apportées dans les
colonnes database
et user
continuent évidemment de s'appliquer. Cette méthode ne doit être utilisée
que si le système assure un contrôle adéquat des connexions au serveur.
L'authentification trust
est appropriée et très pratique
pour les connexions locales sur une station de travail mono-utilisateur. Elle
n'est généralement pas appropriée en soi sur une machine
multi-utilisateur. Cependant, trust
peut tout de même
être utilisé sur une machine multi-utilisateur, si l'accès au fichier
socket de domaine Unix est restreint par les permissions du système de
fichiers. Pour ce faire, on peut positionner les paramètres de configuration
unix_socket_permissions
(et au besoin
unix_socket_group
) comme cela est décrit dans la
Section 20.3.
On peut également positionner le paramètre de configuration
unix_socket_directories
pour placer le fichier de socket
dans un répertoire à l'accès convenablement restreint.
Le réglage des droits du système de fichiers n'a d'intérêt que le cas de
connexions par les sockets Unix. Les droits du système de fichiers ne
restreignent pas les connexions TCP/IP locales. Ainsi, pour utiliser les
droits du système de
fichiers pour assurer la sécurité locale, il faut supprimer la ligne
host ...127.0.0.1 ...
de
pg_hba.conf
ou la modifier pour utiliser une méthode
d'authentification différente de trust
.
L'authentification trust
n'est envisageable, pour les
connexions TCP/IP, que si chaque utilisateur de chaque machine autorisée
à se connecter au serveur par les lignes trust
du
fichier pg_hba.conf
est digne de confiance. Il est
rarement raisonnable d'utiliser trust
pour les
connexions autres que celles issues de
localhost (127.0.0.1).