Apache - Zugriffssicherheit
Katharina
- webserver
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
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
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
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