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

Re: [gulliver] autoriser l'accès à des fichiers (pages web) avec Apache


From Gilles LAMIRAL <gilles dot lamiral at laposte dot net>
Subject Re: [gulliver] autoriser l'accès à des fichiers (pages web) avec Apache
Date Thu, 15 Feb 2007 00:47:42 +0100

Bonjour,

> Moi administrateur de machine, plusieurs
> utilisateurs locaux sur machine, utilisateurs ont chacun un répertoire
> $HOME/public_html.

Ok.

> Moi pas vouloir : que les fichiers accessibles au serveur httpd soient
> accessibles directement aux autres utilisateurs locaux (donc pas de
> groupe commun à tous les utilisateurs du serveur httpd et pas d'accès
> root non-plus)

Alors pas de groupe www-data.

Solution possible : 
1) Tu places l'utilisateur apache (www-data) dans chaque
  groupe principal de tes comptes écrivains. 
  www-data dans le groupe toto
  www-data dans le groupe titi
  C'est pour cela que créer un groupe par utilisateur, prenant
  le nom de l'utilisateur, est un principe bien plus souple
  et plus pratique que de créer un groupe "users" fourre-tout,
  qui finit par faire de belles boulettes. 

Se méfier de cette solution car Apache possède certains modes 
de fonctionnement paranos qui limitent ses propres droits 
malgrés les permissions unix classiques. En résumer, il
faut tester.

2) Tu places un umask 0027 dans le fichier de profile
des écrivains, de façon à ce qu'apache ne casse rien
et que leur copains soient dehors. Ceci pour les
futurs fichiers et répertoires. Cela leur évitera
de faire des chmod. C'est à eux de voir en fait.

3) Il te faut aussi changer les droits des fichiers 
et répertoires actuels des écrivains, s'ils en ont.

> > Et si je me souviens bien, s'il y a le sticky-bit sur le groupe du
> > répertoire parent, les nouveaux fichiers créés seront du même groupe
> > que celui du répertoire parent (à vérifier).

Oui, les sous-répertoires aussi, et c'est récursif. 
Cela ne résoud pas le problème tel qu'il vient d'être reposé.

> Je vais vérifier cette info mais ça ressemble bien à ce que je
> souhaiterais. 

Je ne pense pas. Tu ne veux pas de groupe commun.
Donc le groupe principal de chaque utilisateur suffit.

> En partant du principe que le propriétaire peut modifier tous les
> droits d'accès, il peut mettre le sgid (?), s'il pouvait en plus choisir
> un groupe auquel il n'appartient pas il pourrait créer un exécutable
> sgid pour n'importe quel groupe et par ce biais exécuter n'importe quel
> groupe avec les droits de n'importe quel groupe...

Un bon trou de sécurité en résumé.
Cela ressemble au trou de sécurité d'une époque où certains
Unix permettaient au utilisateurs d'effectuer un chown
sur leur propre fichiers, pour s'en libérer. 
Libérer un shell suid à root ça libère Hurt Me Plenty.

> Si tu ne comprend pas c'est que j'explique mal.

Quand tu détailles ca va, après 3 relectures,
j'ai le cervolant, je plane.

-- 
Au revoir,                                02 99 64 31 77
                                          06 20 79 76 06
Gilles Lamiral. France, Chavagne (35310)  09 52 27 33 66