OVH Cloud OVH Cloud

Pseudo-acces en ecriture

1 réponse
Avatar
Fabien LE LEZ
Bonjour,

J'ai un serveur Linux + Samba avec une partition ext3, et des clients
Windows 2000.

J'ai un répertoire, qui contient quelques Go de données.
J'aimerais que ce répertoire soit accessible aux clients Windows, en
lecture et faussement en écriture.
Je m'explique : si un utilisateur effectue une modification, il voit
le fichier tel qu'il l'a modifié, mais les autres utilisateurs voient
le fichier original. Les modifications sont "oubliées" soit au bout
d'un temps déterminé, soit sur demande explicite.

Les données en question sont trop grosses pour être recopiées autant
de fois qu'il y a d'utilisateurs.

Des idées ?

Merci d'avance...

1 réponse

Avatar
Eric Razny
Le Fri, 09 Feb 2007 22:08:20 +0100, Fabien LE LEZ a écrit :

Bonjour,

J'ai un serveur Linux + Samba avec une partition ext3, et des clients
Windows 2000.

J'ai un répertoire, qui contient quelques Go de données.
J'aimerais que ce répertoire soit accessible aux clients Windows, en
lecture et faussement en écriture.
Je m'explique : si un utilisateur effectue une modification, il voit
le fichier tel qu'il l'a modifié, mais les autres utilisateurs voient
le fichier original. Les modifications sont "oubliées" soit au bout
d'un temps déterminé, soit sur demande explicite.

Les données en question sont trop grosses pour être recopiées autant
de fois qu'il y a d'utilisateurs.


Salut
C'est tordu ton truc :)
A priori je pencherais vers un patch de samba.
Idée : pour les répertoires concernés chaque utilisateur fini en fait
dans un répertoire caché qui lui est propre avec des symlinks vers les
fichiers originaux.

Lors de demande d'écriture il y aurais copie du fichier, changement du
lien, enregistement de la manoeuvre. Périodiquement ces enregistrement
sont traité pour réinitialiser les symlinks là ou il le faut.

Amha c'est à éviter pour plusieurs raisons :

a - ce n'est pas trivial à implémenter proprement[1].
b - les accès concurrents au moment de la remise en place vont être
burlesques.
c - c'est casse gueule à l'utilisation.

Aurais-tu un exemple concret qui justifie ce besoin?

Sinon si tu es maitre de l'appli côté windows tu peux éventuellement
mettre en place l'idée des symlinks en commandant un process sur le
serveur samba -éventuellement un sémaphore via des fichiers de commande
ou des noms de fichier par exemple si tu ne veux comme moyen de
communication que le fs).

Eric

[1] si on fait l'implémentation proprement on a d'ailleurs pas besoin de
symlinks. Une simple table de correspondance suffit (bon ok, hashée ou
autre indexation :) )