Thomas D: Zugriffsrechte beim automatischem Aendern von .htpasswd

Hallo Forum,

Server-Newbie-Problem:

  • Apache auf Unix bietet htaccess-gesteuert fuer verschiedene User
    verschiedene Inhalte;
  • Neu-user melden sich per Formular an; Formulardaten werden irgendwo
    zwischengespeichert und gleichzeitig zu Fuss ueberprueft, ob die
    Neuanmeldung genehm ist;
  • Ist die Neuanmeldung OK, dann soll ein Script die zwischengepeicherten
    Formulardaten in einer DB ablegen und der neue User in die htpasswd
    eingefuegt werden.

Fragen:

  • welche Rechte muss dass Script haben, welche darf htpasswd haben ?
  • ist es besser, wenn htpasswd *nicht* in htdocs steht?
  • habt Ihr Beispiele,Links?

Danke+Gruss
Thomas

  1. hi!

    • welche Rechte muss dass Script haben, welche darf htpasswd haben ?

    Das Skript muss halt Schreibrechte auf die Datei haben. Zum Beispiel
    könnte die .htpasswd dem gleichen Benutzer gehören, unter dem auch
    das Skript läuft. Dann würde für das Ändern dieser Datei -w-------
    genügen. rw------- damit man es auch lesen kann, wenn der Apache als
    root läuft oder auch unter dem gleichen Benutzernamen läuft. Und so
    weiter... ;)

    • ist es besser, wenn htpasswd *nicht* in htdocs steht?

    Besser ist das. Theoretisch kann man aber -- und meistens ist es auch
    so konfiguriert -- dem Apache sagen, dass er Dateien, die mit .ht
    beginnen, überhaupt nicht rausgibt. In dem Fall ist es vermutlich egal,
    in welchem Verzeichnis du die .htpasswd ablegst.

    • habt Ihr Beispiele,Links?

    Wofür jetzt? Über .htaccess gibt es hier im SELFAKTUELL-Raum mehrere
    Feature-Artikel.

    bye, Frank!

    1. Hi Frank,

      • welche Rechte muss dass Script haben, welche darf htpasswd haben ?
        Das Skript muss halt Schreibrechte auf die Datei haben.

      ... und der Apache sollte diese Datei unter seiner Betriebskennung auch lesen dürfen, sonst wird das nix mit dem login. ;-)

      • ist es besser, wenn htpasswd *nicht* in htdocs steht?
        Besser ist das. Theoretisch kann man aber -- und meistens ist es auch
        so konfiguriert

      Bis 1.3.12 war ".htaccess" in der Auslieferungs-Standardkonfiguration automatisch geschützt (also auch jede Datei, in deren Name dies Zeichenfolge auftrat!), seit 1.3.14 ist es "^.ht" .

      Wegen dieser Regel wird überhaupt der Name .htpasswd empfohlen - eigentlich ist der frei wählbar, er wird ja in der ".htaccess" explizit definiert.
      (Ich selbst lasse den nicht mit '.' anfangen, sondern nehme irgendwas Allgemeinverständliches wie "users.dat" etc.)

      -- dem Apache sagen, dass er Dateien, die mit .ht
      beginnen, überhaupt nicht rausgibt. In dem Fall ist es vermutlich egal,
      in welchem Verzeichnis du die .htpasswd ablegst.

      Es ist also eine Frage Deines Vertrauens in die Server-Konfiguration.

      Wenn Du diese Abhängigkeit vermeiden willst, ist ein Platz außerhalb des URL-Raums hilfreich (und dann auch ein selbstgewählter Dateiname sinnvoll).

      Viele Grüße
            Michael