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 13/05/2011 11:11:09

butin-matou
Membre

COPY FROM - access denied

Salut,
Sur Ubuntu, 11,04, postgres 9,03

J'ai une tâche cron qui
    - importe (lftp) des données CSV depuis une machine distante dans un dossier nommé "csvdata" dans ma home group.
    - puis exécute psql pour créer des tables et fait un COPY FROM depuis les fichiers dans le dossier csvdata vers les nouvelles tables.

Quelle est la meilleure façon de refuser l'accès au dossier csvdata (et les fichiers de données) à tous les utilisateurs tout en permettant
l'accès pour moi et pour l'utilisateur postgres.
Le manuel dit que c'est le serveur qui doit avoir accès, mais je ne sais pas comment faire.

Je pensais qu'il serait bien si le dossier pourraient appartenir à un groupe et moi-même et postgres pourraient être membres de ce groupe ... ?
Crazy?

Serait-il préférable (plus simple) d'importer des données dans un dossier où le serveur a déjà des droits d'accès?
Et ce dossier serait-il renommé (ou autrement inaccessible) lors d'un upgrade de postgres?

TIA

butin-matou

Hors ligne

#2 13/05/2011 14:22:35

Marc Cousin
Membre

Re : COPY FROM - access denied

Il suffit que votre utilisateur et l'utilisateur postgres soient membres du même groupe pour que les deux puissent lire dedans.

Pour écrire, le plus simple, est de créer un répertoire appartenant à ce groupe, et de
- lui mettre le bon groupe : chown postgres:mon_nouveau_groupe mon_rep
- lui mettre le sgid et donner contrôle total au groupe: chmod 2770 mon_rep
Le sgid permet que les fichiers créés dans un répertoire le soient en héritant le groupe du répertoire.

Ça peut aussi se faire avec des ACL posix, sinon.


Marc.

Hors ligne

#3 13/05/2011 17:56:55

butin-matou
Membre

Re : COPY FROM - access denied

Merci Marc,

Quand tu dis "créer un répertoire appartenant à ce groupe",
est-ce je dois comprendre
"modifier le répertoire existant pour qu'il appartienne (désormais) à ce groupe".
puisque mon répertoire existe déjà et la commande chown sert à modifier le propriétaire d'un répertoire existant.

Je n'ai jamais entendu parler du sgid.
Apparement, c'est exactement ce qu'il me faut,
puisque ce sont de nouveaux fichiers qui arrivent chaque nuit.

Merci ben gros.
Je te tiens au courant.

Hors ligne

#4 13/05/2011 18:30:53

butin-matou
Membre

Re : COPY FROM - access denied

Et voila !
Nickel chrome.
Merci encore.

Hors ligne

Pied de page des forums