[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ACL Posix : dossier partagé



Bonjour,

Je souhaite créer un dossier partagé, auquel tous les utilisateurs d'un
groupe désigné aient accès en lecture et en écriture.
Je veux par ailleurs que ces utilisateurs puissent modifier les fichiers
contenus dans ce répertoire, même s'ils n'en sont pas les propriétaires.

Tout fonctionne correctement pour les fichiers et dossiers nouvellement
créés en lignes de commande grâce aux ACL Posix (setfacl -dm
g:groupe:rwx ~/partage) et au group suid (chmod g+s ~/partage).

Cependant, j'ai deux soucis:
- les fichiers créés par Nautilus à l'aide d'un clic-droit 'Créer un
document->fichier vierge'  ne respecte pas l'umask (un utilisateur ayant
un umask 022 crée des fichiers avec des droits -rw------- , que ce soit
dans le dossier partagé ou dans un autre dossier n'ayant pas d'ACL par
défaut, et quelque soit les droits unix du dossier parent)
Je n'ai rien trouvé dans les archives à ce sujet, mais ça me semble
assez étrange...
- les fichiers copiés depuis un autre emplacement conservent leurs
droits d'origines (logique me direz-vous, mais ce n'est pas le cas pour
les répertoires qui héritent bien des droits de leur parent). Ces droits
sont souvent trop restrictifs pour que les utilisateurs
non-propriétaires d'un fichier puisse en modifier le contenu. Ils
peuvent par contre le supprimer sans souci (et donc le déplacer dans
leur répertoire personnel pour apporter les modifications nécessaires,
puis le remettre en place, mais cette procédure n'est pas vraiment
souhaitable).

Je n'ai pas réussi à trouver de parade à ces 2 problèmes.
La seule chose à laquelle j'ai pensée est l'écriture d'un script python
utilisant les bindings gamin, qui, à chaque changement dans le dossier
partagé, viendrait corriger les permissions (c'est déjà mieux qu'un
script cron lancé chaque minute, mais ce n'est quand même pas l'idéal,
d'autant que mes tentatives sont pour le moment très loin d'être
fructueuses, ne connaissant vraiment ni python, ni gamin - le principal
problème est de réussir à surveiller les changements dans une
arborescence parfois complexe et non pas simplement dans un répertoire).

Je précise par ailleurs que j'ai plusieurs partages à créer, certains en
local, d'autres exportés en NFS (les ACL posix sont supportées par NFS
depuis la sortie du noyau 2.6.13). Je ne peux (pour les partages
locaux), ni ne souhaite, utiliser Samba.

Si quelqu'un pouvait me guider sur ces différents points (soit sur les
problèmes eux-mêmes, soit sur l'écriture de mon script), je lui en
serais très reconnaissant.

Merci par avance pour vos idées, commentaires etc.

@++
Julien






Reply to: