DBMS/PostgreSQL/Brief
Initialisation
# service postgresql initdb # service postgresql start # chkconfig postgresql on
Ajouter un compte utilisateur et fixer les permissions des bases de données
Ajouter un utilisateur Linux/UNIX appelé koji
Les commandes suivantes vont ajouter un utilisateur standard au système
# adduser koji # passwd koji
Devenir le super-utilisateur postgres
Ici nous avons besoin de se connecter avec le compte super-utilisateur du serveur PostgreSQL. Le plus simplement en devenant l'utilisateur propriétaire du processus PostgreSQL depuis le compte super-utilisateur du système: root.
# su - postgres
Ajout de l'utilisateur koji
$ createuser koji
Mise en place d'un mot de passe pour l'utilisateur koji
$ psql postgres=# ALTER USER shinken WITH PASSWORD 'shinkenpasswd'; ALTER ROLE
Ajout de la base de données koji
On ajoute une base de données nommée koji et on l'affecte à l'utilisateur postgres koji
$ createdb -O koji koji
Accès distant
Par ssh
Le moyen le plus simple ( et surtout le plus sécurisé ) est de se connecter en ssh.
En effet Mettre le démon PostgreSQL à l'écoute du réseau LAN/WAN est considérer comme une faille de sécurité.
Configurer l'écoute du démon
Il est toutefois possible de configurer PostgreSQL afin qu'il écoute d'autres interfaces réseaux que la boucle local ( lo ).
Il faut remplacer localhost par *, et PostgreSQL se mettra à l'écoute sur toutes les interfaces réseaux. Il est possible de spécifier plusieurs adresses IP ( séparées par un espace ).
Fichier <path>/var/lib/pgsql/data/postgresql.conf</path>
listen_addresses = '*' port = 5432
Autoriser la connexion distante depuis l'adresse IP 192.168.0.148 avec l'utilisateur shinken ( connexion avec mot de passe )
Fichier <path>/var/lib/pgsql/data/pg_hba.conf</path>
# TYPE DATABASE USER CIDR-ADDRESS METHOD host all shinken 192.168.0.148/32 md5
Redémarrage de PostgreSQL
systemctl restart posgresql
ou
service postgresql restart
Test
Depuis un poste distant on teste:
$ psql -h <HOST> -U <USER> -W <DATABASE>
- -h <HOST>: spécifier l'hôte distant
- -U <USER>: spécifier l'utilisateur distant
- -W: forcer la demande du mot de passe
- <DATABASE>: spécifier la base
exemple
$ psql -h koji.b2pweb.com -U shinken -W koji