Katharina: Apache - Zugriffssicherheit

Hallo!

Vielleicht kann mir ja jemand helfen. Ich müsste mit dem Webserver Apache abprüfen, ob ein Benutzer zu einer bestimmten Usergruppe gehört(angelegt in Windows) und wenn das so ist, dann bestimmte Ordner/Links auf einer Website freigeben. Ist das möglich? Oder geht das nur mittels Passwortabfrage auf der Website?

Wäre super, wenn mir jemand helfen könnte.
Viele Grüße
Katharina

  1. Hallo!

    Vielleicht kann mir ja jemand helfen. Ich müsste mit dem Webserver Apache abprüfen, ob ein Benutzer zu einer bestimmten Usergruppe gehört(angelegt in Windows) und wenn das so ist, dann bestimmte Ordner/Links auf einer Website freigeben. Ist das möglich?

    Gib mal die %ENV auf dem Webserver aus. Also bei mir ist es so, dass der Apache(hier eine WindowsVersion) keinen USER ausgibt der auf der lokalen Machine angemeldet ist.

    Oder geht das nur mittels Passwortabfrage auf der Website?

    .htaccess

    Den damit angemeldeten Benutzer findest du in der Umgebungsvariable
    REMOTE_USER

    Erwin

    --
    SELFforum - Das Tor zur Welt!
    Theoretiker: Wie kommt das Kupfer in die Leitung?
    Praktiker: Wie kommt der Strom in die Leitung?
    1. Hi Erwin!

      Gib mal die %ENV auf dem Webserver aus. Also bei mir ist es so, dass der Apache(hier eine WindowsVersion) keinen USER ausgibt der auf der lokalen Machine angemeldet ist.

      Mal ne doofe Frage, wie kann ich den %ENV ausgeben?

      .htaccess

      Den damit angemeldeten Benutzer findest du in der Umgebungsvariable
      REMOTE_USER

      Kann ich dann über REMOTE_USER auswerten, ob er z.B. ein Administrator ist und alle Seiten ansehen darf oder nur ein Kunde, der nur einen Teil ansehen darf und dann zuweisen, welche Seiten der kunde sehen darf? Hab nur gelesen, dass man das mittels einer zusätzlichen Passwortabfrage auf der Website machen kann.

      Wäre nett, wenn du mir weiterhelfen könntest.
      Viele grüße
      katharina

      1. hi,

        Gib mal die %ENV auf dem Webserver aus. Also bei mir ist es so, dass der Apache(hier eine WindowsVersion) keinen USER ausgibt der auf der lokalen Machine angemeldet ist.

        Mal ne doofe Frage, wie kann ich den %ENV ausgeben?

        =umgebung
        #!/usr/bin/perl
        print "Content-type: text/plain\n\n";
        while( my($k, $v) = each %ENV){ print "$k  \t $v \n" }
        =cut

        .htaccess

        Den damit angemeldeten Benutzer findest du in der Umgebungsvariable
        REMOTE_USER

        Nun, mache folgendes:
        Erstelle eine Datei .htaccess in dem Verzeichnis wo obenstehendes Script liegt

        =.htaccess
        AuthUserFile /tmp/.passwordfile
        AuthName "Secret"
        AuthType Basic
        require valid-user
        =cut

        Dann erzeugst du mit dem ApacheTool htpasswd (siehe Apacheverzeichnis) eine Passwortdatei:

        =Kdo
        C:\Programme\Apache Group\Apache2\bin>htpasswd -c .passwordfile erwin
        Automatically using MD5 format.
        New password: *****
        Re-type new password: *****
        Adding password for user erwin
        =cut

        Wichtig bei Apache für Windows: encrypt mit MD5 (default), die .passwordfile sieht so aus
        =.passwordfile
        C:\Programme\Apache Group\Apache2\bin>more .passwordfile
        erwin:$apr1$6y1.....$tcffJA/Ju.qViNjUq4JcN1
        =cut

        und die Datei muss hierhin: AuthUserFile /tmp/.passwordfile
        also da wie oben angegeben.

        Wenn du nun das umgebungsScript aufrufst wirst du name und passwort eingeben müssen, dann siehst du auch in der %ENV den
        REMOTE_USER

        GRuss, Erwin

        --
        SELFforum - Das Tor zur Welt!
        Theoretiker: Wie kommt das Kupfer in die Leitung?
        Praktiker: Wie kommt der Strom in die Leitung?