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

Re: [linux-team] Authentification sous Apache (msg original)



On Fri, Sep 17, 1999 at 01:56:43PM +0200, Bruno Mairlot wrote:
> Pascal Bleser wrote:
> > On Thu, Sep 16, 1999 at 09:25:07PM +0200, Bruno Mairlot wrote:
> > > J'ai un problème à résoudre :
> > > Plusieurs utilisateurs doivent pouvoir accèder à une zone sécurisée sous
> > > Apache.
> > un "realm" en termes techniques ;-)
> > (= "royaume", littéralement... enfin, je crois ;))
> > > Bon, dans un premier temps, c'est facile, il existe plusieurs méthodes
> > > pour cela, la première, la plus habituelle est de définir un fichier
> > > d'accès
> > Oui, ou bien le mettre dans /etc/httpd/access.conf quand on est root
> > > Il existe aussi les modules genre Auth_Mysql qui permettent de stocker
> > > des utilisateurs dans une table.
> > Ouaip :)
> > > Mais toutes ces méthodes protègent un seul répertoire pour tous les
> > > utilisateurs.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > Non, un realm et pas un répertoire. Càd:
> > 1) un répertoire et tous ses sous-répertoires
> > 2) tu peux très bien dire que d'autres répertoires font partie du même
> >    realm, l'utilisateur ne doit s'authentifier qu'une fois par session
> >         (s'il ferme le browser et qu'il le réouvre pour accéder au realm, il
> >         devra de nouveau s'authentifier)
> > > Ce qu'il me faut c'est un répertoire par utilisateur. Je ne veux pas
> > > qu'un utilisateur A rentre le mot de passe et puisse voir les fichier de
> > > B.
> > > Vous allez me dire : faire autant de répertoire protégé que
> > > d'utilisateur. Ben non, car je ne connais pas le nombre d'utilisateur,
> > > et ce n'est pas moi qui gère cela. Ca doit se faire automatiquement.
> > > Quelqu'un aurait-il une idée ?
> > Je ne vois vraiment pas ce que tu veux faire...
> Ben en fait : Un realm par utilisateur.
Donc, il y a bien un sous-répertoire par utilisateur.
cf ^^: tu croyais que les realms ne protègent qu'un répertoire pour tous les
utilisateurs!! je croyais que tu *voulais* un seul répertoire pour tous les
utilisateurs ;-)

> Il faut donc pouvoir gérer la liste de ces realms dynamiquement. L'ideal
> étant par le web.
Le module Apache de WebMin ?
  http://www.webmin.com/webmin/
Ou alors tu devras te bricoler un truc toi-même ;-)

> > Donc: un seul répertoire, plusieurs users peuvent y accéder et s'authentifier
> > avec son propre mot de passe et ne voir que ses fichiers ?
> > Pff... très difficile...
> Pas forcément. Voici un exemple :
> /htdocs/private_realm/clienta
> /htdocs/private_realm/clientb
> /htdocs/private_realm/clientc
> /htdocs/private_realm/clientd
Ben évidemment... si tu as un sous-répertoire par user, c'est facile ;-)

> Et donc le repertoire private_realm est ma zone sécurisée,
> et pour l'utilisateur clienta, il ne peut accèder que à
> private_realm/clienta.
yup

> Evidemment s'il essaye d'entrer sur clientb il ne pourra pas.
exact

> > Et "automatiquement" ? Il faut bien qu'un nouvel utilisateur se voit attribuer
> > un acompte et un mot de passe, non ? Tu pourrais aussi créer automatiquement un
> > sous-répertoire pour lui et écrire le .htaccess adéquat dedans, non ?
> > Sinon, tu dois jouer avec les
> > <Files ...>
> >  Limit ...
> > </Files>
> Pourrais-tu détailler plus précisément cette idée ?
Oublie, c'est la solution très compliquée.
Créer automatiquement un realm par répertoire/user, c'est le plus simple.

> Donc si je te suis bien, dans les fichiers 
> /htdocs/private_realm/clientb
> j'aurais un fichier /htdocs/private_realm/clientb/.htaccess ?
Oui, exact.

> Mais comment expliquer à Apache qu'il doit automatiquement trouver le
> fichier .htaccess pour le répertoire 
> /htdocs/private_realm/clientb
Tu prends le problème par le mauvais bout: tu dois *créer* automatiquement
le fichier .htaccess lorsqu'un nouvel utilisateur est créé.

> Et cela de façon automatique ? 
Un petit script... C'est vraiment pas dur.
De toute manière, tu dois ajouter l'utilisateur au fichier des mots de passe
que tu utilises pour authentifier les realms. Alors, créer en plus un petit
fichier .htaccess dans son propre répertoire (que tu dois créer automatiquement
aussi ;))...
Suffit de faire: nom du realm = nom de l'utilisateur
A part ça, suffit d'indiquer dans le .htaccess où se trouve le fichier d'authentification
(directive AuthUserFile) et "require user utilisateur_de_ce_realm".

> Parce que si cela pouvait fonctionner mon problème serait résolu ..
> > mais ça ne peut pas être dynamique (il faut modifier le .htaccess où ces directives
> > se trouvent lorsqu'un nouvel utilisateur est ajouté)
> > Comment tu t'imagines que ça pourrait marcher ?
> Et bien si je ne trouve pas le moyen, j'écrirais un module pour Apache,
> mais j'aimerais autant éviter !
ouf... c'est une solution, mais c'est pas évident...

Juste une question: les utilisateurs peuvent s'"inscrire" eux-mêmes sur le serveur ou
bien c'est toi qui le fais ?
Fais-toi bêtement une page HTML avec des champs pour créer un nouvel utilisateur (pas
besoin d'user UNIX, sauf s'ils peuvent aussi faire de l'FTP) et un CGI (p.ex. en Perl,
y a pas plus confortable - et je peux t'aider si tu veux) qui prends ces données,
- crée le sous-répertoire
- génère un mot de passe au hasard, envoyé par e-mail à l'utilisateur
- ajoute l'utilisateur avec ce mot de passe au fichier d'authentification
- crée le .htaccess dans son sous-répertoire
Pas trop dur, non ?

-- 
  -o) / Pascal Bleser          ATOS Payment Systems|
  /\\ \ C++/UNIX Development        Aachen, Germany|
 _\_v  \<guru@linuxbe.org> <pbleser@atos-group.com>|
---------------------------------------------------|
Real programmers don't draw flowcharts.            :
Flowcharts are, after all, the illiterate's form   :
of documentation. Cavemen drew flowcharts; look    :
how much good it did them.                         :
---------------------------------------------------'

---------
Visit the Linux Supertore Online: http://www.redcorp.com !
If you want to be deleted from the list, send a mail to
majordomo@rtfm.be with "unsubscribe linux-team" in the body.