1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

[Apache]: Problem mit auth

Dieses Thema im Forum "macOS & OS X" wurde erstellt von Wikinator, 14.04.06.

  1. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    Hallo,

    ich versuche ein Unterordner meines Apache (er liegt in /var/www) mit einem Passwort zu schützen. Dazu habe ich in httpd.conf "AuthConfig" eingetragen und /var/www/schutz/.htaccess mit folgendem Inhalt erstellt:
    Code:
    AuthType Basic
    AuthName "STFU"
    AuthUserFile /var/passwords/password.file
    Require user sebastian
    dann mit
    Code:
    htpasswd -c /var/passwords/password.file sebastian
    die Datei erstellt und die Rechte genau wie in /var/www vergeben, sprich:
    Code:
    -rwxrwxrwx 1 root root 24 Apr 14 20:09 password.file
    nun fragt er mich bei dem Aufruf von http://localhost/schutz/ auch nach einem Benutzernamen & Password akzeptiert es allerdings nicht. Rechtschreibfehler ist keiner drin, das habe ich mehrmals überprüft.
     
  2. Hoi hoi,

    prüfe am besten mal die Apache-Error-Logfile. Da findet sich vielleicht eine Zeile mit Hinweis zu dem Fehler, ob dieser an der .htaccess liegt oder aber eine andere Ursache vorliegt.

    `Mika
     
  3. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    er sagt immer:
    Code:
    [Fri Apr 14 22:38:41 2006] [error] user sebastian not found: /sebastian
    allerdings existiert der Benutzer lokal sowie htpasswd.
     
  4. Hm, das ist seltsam.

    Ich habe mal, um nichts zu übersehen, Deine Installation getestet, jedoch funktioniert es bei mir.

    Das etwas verwirrende "[...]: /sebastian" am Ende der Fehlermeldung folgt vom Syntax dieser, daß der relative Pfad angegeben wird.
    Übrig bleibt mir nur eine logische Erklärung, für die Meldung, daß der Benutzer nicht gefunden wird: Der Zugriff auf die Passwortdatei ist fehlgeschlagen.
    Mit den eingestellten Rechten jedoch sehr verwunderlich; lege dieser aber versuchsweise mal woanders hin, oder relativ, oder auch mit anderem Namen an. Möglicherweise stört Apache der Punkt im Dateinamen (mal in Anführungszeichen setzen?). Der ist da manchmal etwas (verwirrend) empfindlich; vor allem unter Windows xD.
     
  5. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    umbenennen ohne Punkt hilft nichts, wenn ich die Datei verschiebe kommt auch dieselbe Fehlermeldung.
    /sebastian steht — denke ich — einfach nur für den Aufruf, da ich versuche auf http://localhost/sebastian zuzugreifen.
     
  6. Yepp, genau das meinte ich ja dem Fehlermeldungssyntax. Zuerst dachte ich "komische, wieso steht da der Username noch einmal", da Du zuerst einen anderen Pfad hattest. Aber das ist ja soweit klar.

    Was Du noch versuchen könntest, wäre die Passwortdatei zu prüfen. Die Daten darin sind Textdaten; kannst also mit jedem Editor (oder direkt per cat in der Konsole) ansehen. Das Format dieser ist einfach: pro Zeile ein Eintrag <username>:<passwort-crypt>. Vielleicht dort verschrieben gehabt? In der .htaccess kannst Du übrigens auch statt einem expliziten User einfach "Require valid-user" eingeben, so daß*jeder User in der Passwortdatei akzeptiert wird.
    Sonst schauen was es an Möglichkeiten noch geben könnte, daß der Apache die Passwortdatei nicht lesen kann. Sonst fällt mir gerade nichts ein :(
     
  7. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    ein cat /var/passwords/passwords ergibt:
    Code:
    sebastian:AJhEqbz7CCzbE
    das Ändern in valid-user ändern leider auch nichts daran :(
     
  8. Valid-user war auch nur ein Tipp für später.. hier leider ohne Nutzen :( Hm, bleibt also nur die Möglichkeit zu gucken, ob der Apache vielleicht keinen Zugriff auf die Passwortdatei bekommt. Diese vielleicht mal testweise kurz in den Root legen, dann dem gleichen User wie dem unter den Apache liegt zuweisen, Rechte reichen 0644. Oder prüfen ob nicht irgendwie Der Zugriff des Apache auf bestimmte Unterordner beschränkt wurde (kurz in gleichen Ordner dann wie die Webseite legen, zum Testen).
     
  9. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    ich bin nicht sicher, ob ich dich ganz richtig verstanden habe:
    liegt passwords in /var/passwords — geht es nicht
    liegt passwords in /var/www/ und .htacess angepasst — auch nicht
    liegt passwords in /var/chroot/apache/var/www oder ../passwords — auch nicht
    (ich hatte mal versucht, apache zu chrooten, hat allerdings nicht so ganz geklappt und ich habe es dann auch gelassen.)
     
  10. Ein Apache-chroot ist auch eine heikle Sache o_O Den wirklich in eine sichere Sandbox zu setzen ist meist nicht ganz komplikationslos.

    Hat die Passwortdatei denn den gleichen Owner wie der User unter dem der Apache läuft? Ggf. noch den Pfad der Passwortdatei in Anführungszeichen packen. Auch wenn das kein Grund sein kann, besser mal testen. Sonst fehlen mir jetzt aber Ideen was noch die Ursache sein könnte.
     
  11. Toddy

    Toddy Wohlschmecker aus Vierlanden

    Dabei seit:
    10.05.04
    Beiträge:
    240
    Du hast in deiner .htaccess als Passwortdatei allerdings "/var/passwords/password.file" angegeben, und nicht "/var/passwords/passwords".
     
  12. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    macht leider keinen Unterschied, ob root:root oder www-data:www-data (das ist der Benuter, unter dem Apache läuft) der Besitzer ist. Auch die Anführungszeichen nicht :(
     
  13. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    mittlerweile aber geändert

    EDIT:
    falsches Zitat, sorry.
     
  14. Okay.. hätte mich eigentlich auch gewundert. Andere Ideen habe ich gerade leider nicht mehr :(
     
    Wikinator gefällt das.
  15. Toddy

    Toddy Wohlschmecker aus Vierlanden

    Dabei seit:
    10.05.04
    Beiträge:
    240
    Hast du die Datei nur umbenannt oder ganz neu erstellt?

    Wenn du sie nur umbenannt hast wird es auch nicht funktionieren, die Verschlüsselung des Passworts hängt mit dem Dateinamen zusammen...
     
    Wikinator gefällt das.
  16. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    nein, hatte ich nicht, macht aber auch keine Unterschied :(
     
  17. Toddy

    Toddy Wohlschmecker aus Vierlanden

    Dabei seit:
    10.05.04
    Beiträge:
    240
    OK, damit kapituliere ich nun aber auch :-c

    Eventuell solltest du dein Problem mal in einem speziellen Apache Forum ansprechen, kann dir außer Experts Exchange aber leider keins empfehlen.

    Vielleicht findet sich aber auch hier noch jemand mit der einen oder anderen Idee :)
     
  18. Danyow

    Danyow Gast

    Unabhängig von meinem Lösingsvorschlag, der gleich kommt:
    Bist Du Dir WIRKLICH SICHER, daß jeder Benutzer auf diese Datei schreiben darf?
    Das würde ich mir nochmal gut überlegen...

    Anyways:
    Der Apache kann die Autentifizierung nur dann durchführen, wenn er den kompletten Pfad zum Userfile auflösen kann.

    Also muß nicht nur /var/passwords/password.file sondern auch /var/passwords/ vom Apache lesbar (und eventuell auch ausführbar) sein.

    Vorschlag zur Güte für die Rechtevergabe:
    Die Dateien in /var/passwords sollten einer Gruppe gehören, zu der auch der Benutzer unter dem der httpd läuft gehört und von dieser Gruppe lesbar und evtl. ausführbar - aber eben nicht schreibbar - sein.
    Das Verzeichnis /var/passwords selber sollte o=rx sein.

    Die jeweiligen Dateien in /var/passwords sollten den Usern gehören, die daran etwas verändern können sollen und nur von ihnen schreibbar sein.

    HTH

    D
     
  19. Wikinator

    Wikinator Adams Parmäne

    Dabei seit:
    21.08.04
    Beiträge:
    1.297
    eigentlich nehme ich auch striktere Rechte, aber da es mit eben diesen nicht funktioniert hat, habe ich sie gelockert.

    Das Problem war, dass zusätzlich zu "mod_auth" noch "mod_auth_sys" in /etc/apache/modules.conf geladen wurde. Auskommentiert geht es.
    Als Expertenforum habe ich übrigens selfhtml genommen.
     
  20. Danyow

    Danyow Gast

    Hmm, hast Du Deinen Apache per APT gezogen oder selber gebacken?
    Eigentlich ist das eher komisch, daß der in Debian/stable so "verkonfiguriert" ist...
    Oder war das auf dem Mac?

    D
     

Diese Seite empfehlen