, ,

Authentification postgres avec mot de passe

A l'installation, le compte postgres peut se connecter sans authentification lorsque le client postgres est utilisé local (la connexion via socket UNIX est une connexion de confiance). Pour modifier se comportement et demander une authentification par mot de passe pour le compte d'administration postgres même en local:

Se connecter au cluster de base avec le compte postgres

$ psql -U postgres

Modifier le mot de passe du compte avec la requête:

ALTER ROLE postgres WITH PASSWORD 'monPassWorde' VALID UNTIL 'infinity';

Quitte le client et modifier le fichier configuration de la politique de sécurité de postgreSQL /etc/postgresql/9.3/main/pg_hba.conf. Commenter la ligne permettant a l'utilisateur postgres de se connecter sans authentification localement et vérifier la présence de la ligne demandant une authentification par mot de passe pour les connexions locales:

# Database administrative login by Unix domain socket
#local   all             postgres                                trust

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     password

Recharger les fichiers de configuration du service postgres

$ sudo service postgresql reload

Références