On Wed, 2009-01-14 at 10:54 +0100, Olivier Allard-Jacquin wrote:
> Bonjour,
>
> guilde@??? a écrit :
> > Hello folks,
> >
> > Je cherche une solution pour que les fichiers et répertoires créés dans
> > un répertoire donné aient, récursivement, un propriétaire/groupe et des
> > droits figés.
> >
> > Ceci quelle que soit la façon de les créer (ftp, shell,...) et sans
> > qu'on puisse modifier ces attributs par la suite (sauf root). C'est en
> > ext3, éventuellement on peut imaginer de changer de file system - pas
> > facile.
> >
> > chmod g+s le répertoire ne fait pas l'affaire, je n'ai rien vu dans
> > chattr, faire tourner un cronjob laisse un délai entre la création du
> > fichier et la rectification des droits (et consomme du CPU/accès disque)...
> >
> > Any hints ?
>
> Pas facile en effet.
>
> Pour ce qui est du FTP, tu peux configurer ton serveur FTP pour :
> - que ce soit toujours le même user/group qui fasse tourner le démon
> FTP, et ce, quelque soit la personne qui s'est connecté. Avec Proftpd,
> ce sont les paramètres "user / group"
> - fixer les droits de création de fichiers/répertoires. Toujours avec
> Proftpd, c'est le paramètre "Umask"
>
> Si tu as un serveur Samba, ce sont des options similaires dans le
> "/etc/smb/smb.conf".
>
> Pour le shell, et les droits d'accès, tu peux définir la valeur "umask"
> dans le, par exemple, ~/.bashrc : "umask 0022".
>
> Si tu ne veux pas que tes utilisateurs changent à posteriori les droits
> d'accès, tu peux leur supprimer les commandes "chmod/chgroup".
>
> Sinon, tu peux effectivement faire tourner un chown/chmod dans un cron.
> Utilise le paramètre "-R" pour faire de manière recursive :
>
> Exemple:
> chmod u+rwX,g+rX,o+rX le_répertoire
> chmod -R user group le_répertoire
>
> note le "X", et non pas "x". Cela permet de préserver le caractère
> exécutable les fichiers/répertoires qui le sont déjà; Ce qui est
> évidement une nécessité pour les répertoires, qui doivent rester
> "exécutable" pour que l'utilisateur puisse y rentrer dedans.
Perso j'ai le problème sur un serveur nfs (j'ai un répertoire que je
voudrais être tout le temps à "nobody", ou au moins à "nogroup" et r/w
par tout le monde) et je n'ai pas trouvé de solution - le chmod +s ne
fonctionne pas souvent.
Bref, à part la crontab qui est assez peu satisfaisante pour les raisons
déjà décrites, je suis moi aussi à la recherche d'une solution.
Xav