« DBMS/PostgreSQL/Brief » : différence entre les versions

De TartareFR
Aller à la navigation Aller à la recherche
(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... »)
 
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
== 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 compte utilisateur et fixer les permissions des bases de données ==


Ligne 7 : Ligne 13 :
  # passwd koji
  # passwd koji


=== Devenir le super-utilisateur ===
=== 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.
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.
Ligne 14 : Ligne 20 :
=== Ajout de l'utilisateur koji ===
=== Ajout de l'utilisateur koji ===
  $ createuser 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 ===
=== 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
On ajoute une base de données nommée koji et on l'affecte à l'utilisateur postgres koji
Ligne 31 : Ligne 43 :
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 ).
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>
Fichier <path>/var/lib/pgsql/data/postgresql.conf</path>
<pre>
<pre>
listen_addresses = '*'
listen_addresses = '*'
Ligne 37 : Ligne 49 :
</pre>
</pre>


Autoriser la connexion distante depuis l'adresse IP 192.168.0.148 avec l'utilisateur shinken
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>
Fichier <path>/var/lib/pgsql/data/pg_hba.conf</path>
<pre>
<pre>
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all        shinken    192.168.0.148/32      trust
host    all        shinken    192.168.0.148/32      md5
</pre>
</pre>



Dernière version du 5 mars 2013 à 08:16

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
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