Valà mon problème :
j’aimerais protéger un dossier par une authentification de type Digest, en demandant juste un utilisateur valide.
Seulement, ça ne marche pas, je ne peux pas me logguer, et j’ai dans le log d’erreur :
[Sat Jan 20 11:49:13 2007] [error] [client 10.211.55.2] Digest: invalid nonce 4277693fba542 received - length is not 52
[Sat Jan 20 11:49:13 2007] [error] [client 10.211.55.2] GROUP: plop not in required group(s).
Pour ma version d’Apache :
[Sat Jan 20 11:44:04 2007] [notice] Apache/2.2.3 (Debian) DAV/2 SVN/1.4.2 mod_jk/1.2.18 mod_ldap_userdir/1.1.11 mod_python/3.2.10 Python/2.4.4 PHP/5.2.0-8 proxy_html/2.
5 mod_ruby/1.2.6 Ruby/1.8.5(2006-08-25) mod_ssl/2.2.3 OpenSSL/0.9.8c mod_perl/2.0.2 Perl/v5.8.8 configured – resuming normal operations
j’ai dans mon fichier de conf:
<Directory “/var/www/webdav/”>
AuthType Digest
AuthName webdav-example
AuthUserFile /home/srw/password
AuthGroupFile /home/srw/groups
Require group users
Require valid-user
</Directory>
Dans /home/srw/password, j’ai juste
plop:webdav-example:xxxxxxxxxxxxxxxxxxxxxxxxxx
(bien sûr créé par htdigest -c webdav-example plop )
L’authentification Digest est un peu differente de l’auth Basic. Elle possede ses propres directives AuthDigestFile, AuthDigestGroupFile, AuthDigestDomain, etc
La meilleure source d’info est bien evidemment la doc officielle : http://httpd.apache.org/docs/2.0/mod/mod_auth_digest.html
oublie pas d’installer et charger le module mod_auth_digest si il n’est pas compile statiquement.
tu t’es planté de doc, ça a changé avec la 2.2 et je suis en 2.2.3 : http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html
et ils sont revenus à AuthUserFile & AuthGroupFile.
(et évidement, le module auth_digest est chargé, mais en dynamique)
j’ai essayé avec :
<Directory “/var/www/webdav/”>
AuthType Digest
AuthName webdav-example
AuthDigestDomain /webdav
AuthDigestProvider file
AuthUserFile /home/srw/password
AuthGroupFile /home/srw/groups
Require group users
Require valid-user
</Directory>
mais ça n’a rien changé
En fait, je pense qu’il trouve pas tes fichiers de groupes et pass… car il va les chercher dans $serverroot$/home/srw/password et dans $serverroot$/home/srw/groups
d’ailleurs ton message d’erreur peut coller avec cette hypothese :
malheureusement, mon fichier est bien donné avec son chemin absolu, donc ça devrait marcher
enfin, au pire, j’irai demander à l’admin réseau de mon taf, il aura ptêt une idée sur la question (puis comme c’est sur mon portable, je pourrai lui montrer la bête)
en fait, je fais même un howto pour installer à partir d’une debian vide un serveur web/ftp/mail/ldap/subversion/samba/nfs/mysql, avec une interface web pour configurer des comptes (qui auront accès à tous ces services), un webmail, avec la possibilité pour chacun d’avoir une page web, une table mysql, son repository svn/cvs, etc…
le web, ftp, ftps, sftp, nfs, ça marche, le samba devrait à peu près marcher, mais le mail et le l’authentification web ne veulent pas encore
ben c’est bien pour ca que je te demandais de virer les directives concernant le groupe afin de purger les trucs optionnels potentiellement problematiques.
ouais mais le je comprends pas ce que t’as fait… que vient faire ldap dans ton prob ?
Juste une question : tu stockes comment tes MDP dans LDAP ? Parce que j’essaye de faire un truc un peu similaire, sauf qu’apparemment y a le choix entre stocker les pass en clair dans LDAP et pouvoir faire du digest, soit les stocker en sha ou autre hash, et devoir les envoyer en clair (donc j’essaye de tout faire passer par du SSL/TLS).
:grrr: j’ai trouvé y a 20 min que c’était ça :grrr: j’ai viré tous les autres modules d’authentification, et c’est passé, et j’allais le poster ^^
Enfin, merci bien de ton aide Normalement, il n’est pas censé donner son avis, ce module… et vive la config par défaut de debian
nan, ce n’est pas ça
quand je tape un mauvais password, il me dit :
[Tue Jan 23 22:16:27 2007] [error] [client 10.211.55.2] user plop: authentication failure for “/webdav/”: Password Mismatch
donc il arrive bien à faire la comparaison (quelque soit le hash)