PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 21/01/2014 10:14:26

ToineR
Membre

Droit d'utilisateur windows

Bonjour à tous,
Tout juste débutant dans le monde POstgreSQL et PostGIS, je viens vers vous suite à une formation de 2 jours que je viens d'effectuer.

Je commence à mettre en place une base de donnée sous PGAdminIII dont je serai, pour le moment, le seul à utiliser. Tous les calculs que je souhaitais fonctionnent bien, sauf l'export via un COPY ... TO.

J'ai un peu farfouillé sur le net, et je pense que le problème vient des droits d'écriture/lecture sur le PC et j'avoue ne pas du tout avoir vu ça lors de ma formation. J'ai vu parlé du fichier pg_hba.conf, mais je ne comprend pas comment il fonctionne.

Pour vous faire un état des lieux, j'ai un login windows, qui permet d'arriver sur ma session PC dont je suis administrateur, un disque réseau privé, et un disque réseau commun avec le reste de la boite. Comment lié ce compte avec ma base ?

En vous remerciant d'avance.

Antoine

Hors ligne

#2 21/01/2014 11:05:43

rjuju
Administrateur

Re : Droit d'utilisateur windows

Bonjour,

Pour pouvoir utiliser COPY TO, il faut que le répertoire cible soit accessible en écriture par l'utilisateur faisant tourner le service postgres.

Hors ligne

#3 21/01/2014 11:08:16

ToineR
Membre

Re : Droit d'utilisateur windows

En fait, c'est bien ça que je ne comprend pas.
Je suis à la recherche d'un guide expliquant un peu plus les droit d'utilisateur. Je ne comprend comment je peux être logué via mon compte windows qui est admin sur mon pc et qui a des droit de lecture/ecriture sur le disque serveur, et utiliser un autre compte via postgres ...

Hors ligne

#4 21/01/2014 11:27:56

rjuju
Administrateur

Re : Droit d'utilisateur windows

Lorsque vous avez installé postgres, vous avez du choisir un nom d'utilisateur ainsi qu'un mot de passe pour l'utilisateur démarrant le service. Vous pouvez retrouver cet utilisateur dans les propriétés du service postgres installé. Pour information, postgres refusera de démarrer s'il est lancé en tant qu'administrateur, entre autre pour ne pas pouvoir supprimer n'importe quel fichier du serveur.

Hors ligne

#5 21/01/2014 11:41:53

ToineR
Membre

Re : Droit d'utilisateur windows

Du coup, si je comprend bien,
Prenons l'exemple que j'ai créé l'utilisateur pour postgres: user: postgres et mdp: postgres
Il faut que je crée un compte utilisateur windows postgres/postgres ayant accès au dossier pour écriture ?

Hors ligne

#6 21/01/2014 11:45:01

rjuju
Administrateur

Re : Droit d'utilisateur windows

Non, le super utilisateur créé sur la base (CREATE ROLE...) n'a aucune existence sur le système d'exploitation, et est sans rapport avec l'utilisateur système (windows) démarrant le service. Vous avez forcément créé un utilisateur windows pour démarrer le service si vous avez utilisé l'installeur graphique (du moins jusqu'en 9.1), ça a pu changer depuis). Il faut que vous regardiez les propriétés de votre service postgres pour voir de quel utilisateur il s'agit (postgres par défaut).

Hors ligne

#7 21/01/2014 11:49:59

ToineR
Membre

Re : Droit d'utilisateur windows

Oui, logiquement dans mon exemple, c'est le postgres/postgres, par contre je ne le trouve pas comme utilisateur windows. Pour info je n'ai pas créé d'autre rôle.

Edit: du coup dans les services, j'avais 2 choix dans connexion:
- Compte système local avec "Autoriser le service à interagir avec le bureau"
- ce compte, avec mon mot de passe.

En utilisant le compte système local, je peux, du coup écrire dans mes doc/C etc... C'est déjà une bonne avancée, mais je ne sais pas si cela pose des problème pour d'autres choses

Dernière modification par ToineR (21/01/2014 11:55:06)

Hors ligne

#8 21/01/2014 12:22:49

rjuju
Administrateur

Re : Droit d'utilisateur windows

Dans les anciennes versions de l'installeur, l'utilisateur créé n'était pas membre du groupe "utilisateur", il n’apparaissait donc pas dans la liste des utilisateurs du panneau de configuration, mais uniquement dans "gestion de l'ordinateur / utilisateurs et groupes locaux". Les problèmes qui peuvent se poser sont liés aux droits de ce compte "système local". En étant connecté en tant que super utilisateur sur la base de données, vous pouvez écraser n'importe quel fichier accessible en écriture par ce compte, il faut donc être vigilant sur la politique d'accès à la base.

Hors ligne

#9 21/01/2014 12:25:47

ToineR
Membre

Re : Droit d'utilisateur windows

D'accord, je vais regarder tout cela.
Merci beaucoup pour votre patience, j'avoue être complètement perdu pour ces histoires de droits d'utilisateur postgres/windows.

Edit: par contre dans "utilisateurs et groupes locaux" aucune trace du compte postgres qui a été créé lors de l'installation...

2ème edit: visiblement, ça a changé depuis la version 9.2 : "It seems to be a consequence of the usage of "NETWORK SERVICE" account instead of "postgres" since PostgreSQL 9.2. " c'est donc pour cela que je ne trouvais pas l'utilisateur postgres

Dernière modification par ToineR (21/01/2014 12:41:08)

Hors ligne

#10 21/01/2014 12:44:54

rjuju
Administrateur

Re : Droit d'utilisateur windows

Effectivement, ce comportement a été changé pour l'installeur de la version 9.2, comme indiqué dans le document https://github.com/julien2512/guide_du_ … f?raw=true

A noter que pour faire tourner le service de la base de donnée, contrairement aux versions
précédentes où un compte « postgres » était créé, l'installeur va utiliser le compte windows pré-
existant « SERVICE RESEAU ». Ce compte sera ainsi celui sur le compte duquel fonctionnent les
programmes du serveur PostgreSQL. Il sera aussi utilisé pour créer physiquement le premier cluster
de la base.

Je serais par contre incapable de vous donner les droits par défaut de cet utilisateur, si vous voulez plus de détail il faudra vous tourner vers la documentation windows.

Hors ligne

#11 21/01/2014 12:47:33

ToineR
Membre

Re : Droit d'utilisateur windows

D'accord, merci beaucoup en tout cas pour votre aide. J'arriverai bien à trouver une solution.

EDIT: du coup ce que j'ai vu, (si ça intéresse quelqu'un), le COPY TO fonctionne sur un chemin en local du serveur postgres ( je ne sais pas si je suis clair), pour cela que je peux effectuer un export sur C:/ ou dans mes docs, mais cela ne fonctionne pas sur un disque réseau (exemple P:/).

Dernière modification par ToineR (21/01/2014 14:08:20)

Hors ligne

#12 22/01/2014 12:40:33

SQLpro
Membre

Re : Droit d'utilisateur windows

Voici les droits associés à ce compte de service :

output
-------------------------------------------------------------------------------------------------
autorite nt\service réseau

Nom de privilège              Description                                               État     
============================= ========================================================= =========
SeAssignPrimaryTokenPrivilege Remplacer un jeton de niveau processus                    Désactivé
SeIncreaseQuotaPrivilege      Ajuster les quotas de mémoire pour un processus           Désactivé
SeShutdownPrivilege           Arrêter le système                                        Désactivé
SeAuditPrivilege              Générer des audits de sécurité                            Désactivé
SeChangeNotifyPrivilege       Contourner la vérification de parcours                    Activé   
SeUndockPrivilege             Retirer l'ordinateur de la station d'accueil              Désactivé
SeImpersonatePrivilege        Emprunter l'identité d'un client après l'authentification Activé   
SeCreateGlobalPrivilege       Créer des objets globaux                                  Activé   
SeIncreaseWorkingSetPrivilege Augmenter une plage de travail de processus               Désactivé
SeTimeZonePrivilege           Changer le fuseau horaire                                 Désactivé

Ceci dit, il n'est pas recommandé d'utiliser ce compte de service pour des raison de sécurité, mais d'en créer un spécifique au service PG avec les permissions qui vont bien, et si possible sous le contrôle de l'AD...

A +


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

#13 29/12/2014 20:55:19

hesskhahess
Membre

Re : Droit d'utilisateur windows

j'ai installé postgres 9.3.5. sous windows 7
puis j'ai oublié le mot de passe me permettant de me connecter en tant que utilisateur postgres.
comment faire? dois je le désinstaller et reprendre l'installation?

Hors ligne

#14 05/01/2015 10:25:59

ruizsebastien
Membre

Re : Droit d'utilisateur windows

Bonjour,

Normalement vous devriez pouvoir vous connecter avec psql directement sans mot de passe (mode trust du pg_hba.conf par défaut) :
psql -p 5432

puis modifier le mot de passe de postgres :
ALTER ROLE postgres WITH PASSWORD 'toto';


Cordialement,

Sébastien.

Hors ligne

Pied de page des forums