DBMS/PostgreSQL/Brief

De TartareFR
Version datée du 27 février 2013 à 12:29 par Didier (discussion | contributions) (Page créée avec « == Ajouter un compte utilisateur et fixer les permissions des bases de données == === Ajouter un utilisateur Linux/UNIX appelé koji === Les commandes suivantes vont aj... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

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

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

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/pg_hba.conf</path>

listen_addresses = '*'
port = 5432 

Autoriser la connexion distante depuis l'adresse IP 192.168.0.148 avec l'utilisateur shinken

Fichier <path>/var/lib/pgsql/data/pg_hba.conf</path>

# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         shinken     192.168.0.148/32      trust

Redémarrage de PostgreSQL

systemctl restart posgresql

ou

service postgresql restart
Idea.png
Firewall
Il faut ouvrir le port tcp/5432.

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