On Wed, 31 May 2006 06:20:39 +0200, anne aublanc <anne.aublanc@???>
wrote:
> bonjour,
>
> Le problème :
>
> quand je suis root ou www :
>
> les fichiers créés par root ou www sont en 644.
> -rw-r--r-- 1 faxmget www -rw-r--r-- 1 faxmget root
>
> quand je suis l'utilisateur zoro :
>
> les fichiers créés sont en 600.
> -rw------- 1 faxmget zoro
>
> C'est le même programme qui crée les fichiers.
>
> C'est un pgm en C... et je n'ai pas réussi à découvrir ce qui se passait
> dans ce pgm pour comprendre pourquoi les droits ne sont pas les mêmes!
>
> J'ai une vague idée que c'est la façon dont les utilisateurs sont créés
> sur le serveur qui me donnent les droits sur les fichiers qui sont
> créés...
>
> Si vous avez des idées, des pistes de recherche...
> J'aimerai bien avoir les mêmes droits pour tout le monde... 644 me va
> bien! 600 beaucoup moins...
> J'ai bien essayé de mettre un chmod dans le programme qui appelle le pgm
> en C.... veut pas! (Je m'en doutais qu'il ne voudrait pas)
>
> Je sais qu'il existe une bidouille avec les uid mais je ne me rappelle
> pas comment on fait!
>
> merci
> anne
> !
Ton programme en C n'y est pour rien, c'est l'umask (de zorro, t'as fait
exprès ?) qui doit te jouer un tour.
Vu la différence entre les droits obtenus avec root et zoro, l'umask de ce
dernier doit au minimum être 0044 et plus probablement 0066 (en voyant le
programme C cela serait plus facile à dire car la valeur pour créer le
fichier doit probablement être 0644 ou 0666).
Pour vérifier la valeur actuelle il suffit de taper :
> umask
Si tu veux garder les droits d'écriture pour les utilisateurs autre que le
propriètaire il faut taper :
> umask 022
ou > umask 033
Remarque :
Avec la commande umask, ce sont les droits que l'on veut RETIRER des
droits prévus dans les programme que l'on
doit indiquer et non pas le contraire :
Octal Binaire
----- -------
Programme 0 6 6 6 000 110 110 110
-umask 0 0 2 2 000 000 010 010
Résultat 0 6 4 4 000 000 101 100
C'est présenter comme une soustraction pour simplifier. En fait c'est un &
entre la valeur d'origine et le complément de la valeur de l'umask.