{{tag>postgres identification sécurité}}
====== 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 =====
* http://stackoverflow.com/questions/20427689/psql-invalid-command-n-while-restore-sql
* https://librecours.net/tmp/lap1-run/posUL05.xhtml