[gull] maintenir un répertoire ouvert à tous

Marc SCHAEFER schaefer at alphanet.ch
Thu Apr 13 18:18:26 CEST 2006


On Thu, Apr 13, 2006 at 05:51:24PM +0200, Thierry de Coulon wrote:
> Je voudrais,sur un serveur, avoir un répertoire "commun" que tous peuvent 
> monter par nfs et ou chacun peut déposer (ou effacer) n'importe quoi.
> Mais dès qu'un utilisateur dépose un document, celui-ci est lisible par tous 
> mais modifiable uniquement par son propriétaire (logique).
> 
> Y a-t-il un moyen de dire quelque part que que tous les documents doivent être 
> accessibles en écriture? Ou faut-il créer un script qui change régulièrement 
> les permissions dans ce répertoire?

Si la permissions a+rwx est activée, tout le monde pourra renommer,
effacer ou créer des fichiers, même des autres utilisateurs (sauf +t)
(attention à `rm' qui est trop sympa et pose une question si la
permission du fichier est -w).

On pourrait donc résoudre ce problème si tous les utilisateurs faisaient
un `mv' ou un `rm' avant (ce que les utilitaires comme vi et autres ne
font pas, pour diverses bonnes raisons: il font un truncate(2) plutôt).

Mais effectivement, pour modifier le *contenu* c'est la permission du
fichier qui compte.

Avec les distributions modernes GNU/Linux qui ajoutent chaque
utilisateur dans son propre groupe (cf login.defs), on peut préconfigurer
un umask global de 002 (rw pour groupe par défaut) sans risque particulier
de sécurité. En changeant le groupe propriétaire du
répertoire à `users', en ajoutant la permission g+s (SGID bit
sur répertoire), on force la création de fichiers (et de
répertoires) dans le groupe du répertoire.

Il suffit alors d'ajouter tous les utilisateurs dans le groupe users.

Une autre façon serait d'exporter en NFS ce répertoire spécifiquement et
de jouer avec les options all_squash et anonuid/anongid, voir exports(5).

Attention à NFS et à des utilisateurs membres de plusieurs groupes:
certaines implémentations de NFS limitent à 16 ou 32 le nombre maximum
de groupes transmis par le client, je n'ai pas vérifié sous Linux
récement.

PS: les ACLs, notamment supportées par ext2/3, permettraient peut-être cela
    aussi, au prix d'une vision moins synthétique de la sécurité active.
    Par contre pas forcément sauvegardés trivialement, et je n'ai jamais
    testé via NFS. En théorie cela peut jouer avec le modèle standard
    NFS.




More information about the gull mailing list