PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Authentication auf Apache Server



tbrunsfe
14.05.05, 14:31
Hallo zusammen,
vielleicht kann mir jemand einen Tipp geben. Mein Apache2 läuft und ich kann auch über eine Authentication Daten downloaden. Ich habe einen link auf meiner page ´Downloadbereich´. Klickt man diesen so kommt die Passwortabfrage und man ist im freigegebenen Verzeichnis wie konfiguriert.

Options +MultiViews
<Directory /srv/www/htdocs/download>
AuthAuthoritative Off
#Zugangskontrolle
AuthType Basic
AuthName "Downloadbereich"
AuthUserFile /usr/local/apache2/bin/passworte
Require valid-user
</Directory>

Mein Ziel ist es nun die darunter liegenden Verzeichnisse (z.B. private, business) durch verschiedene Passworte zu schützen sodas nicht jeder der Zugang zu diesem Portal hat auch Einsicht in ALLE Daten bekommt.

Wer kann helfen? Werde weiterhin mich mit doku lesen vergnügen :rolleyes:

LKH
14.05.05, 15:01
Hi,

hast du den geposteten Eintrag in der httpd.conf bzw. in einer dort inkludierten Datei? Du kannst - richtig konfiguriert - die Einträge auch in jedem Verzeichnis in eine .htaccess schreiben.

LKH

tbrunsfe
14.05.05, 15:22
ja, habe die Einträge in der httpd. conf. So wie ich dich verstehe kann ich dies konfigurieren in einer .htaccess Datei die dann im Verzeichnis des Folders liegt auf den ich mich authentisieren will.

Solltest du ein Beispiel haben, danke. Werde dann aber mal die doku lesen.
tks

LKH
14.05.05, 16:04
Hi,

genau, die .htaccess liegt in dem Verzeichnis, die sie schützen soll. Im Grunde sind die Einträge die gleichen wie in der httpd.conf. Die Dokumentation findest du unter http://httpd.apache.org/docs-2.0/howto/auth.html

LKH

tbrunsfe
18.05.05, 21:14
irgendwie komm ich nicht richtig weiter. hier ein Auszug aus der httpd.conf

# forbid access to the entire filesystem by default
<Directory />
AllowOverride AuthConfig
Options None
Order deny,allow
Deny from all
</Directory>

# use .htaccess files for overriding,
AccessFileName .htaccess
# and never show them
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>

Options +MultiViews
<Directory /srv/www/htdocs/download>
#Zugangskontrolle
AuthType Basic
AuthName "Downloadbereich"
AuthUserFile /usr/local/apache2/bin/passworte
Require valid-user
</Directory>
<Location /server-info>
#Zugangskontrolle
AuthType Basic
AuthName "Server-Info"
AuthUserFile /usr/local/apache2/bin/passworte
Require valid-user
SetHandler server-info
</Location>

Aufgrund dieser Konfig wird das Verzeichnis download password geschützt, das geht. In diesem Verzeichnis download befindet sich ein Unterverzeichnis Steffi. Das soll nun auch mit einem password geschützt werden (quasi jedes Unterverzeichnis bekommt einen eigenen account). Dafür habe ich in das Unterverzeichnis eine .htaccess Datei mit folgendem Inhalt gelegt:

AuthType Basic
AuthName "Steffi"
AuthUserFile /usr/local/apache2/bin/passworte
Require valid-user


Warum bekomme ich nun keine Authentisierungsabfrage wenn ich auf Verzeichnis Steffi gehe??

Ein Tipp wäre überaus hilfreich, danke schonmal im Voraus

nebi
18.05.05, 23:51
Hi, ich hab das so gemacht:

.htgroup
.htpasswd

Inner .htgroup stehen die einzelnen User und deren zugehörige Gruppe:

users: max
admin: moritz

inner .htpasswd dann die verschlüsselten Passwörter der einzelnen User:

max:verschlüsselt
moritz:verschlüsselt

Die Passwörter kannste Dir mit einem kleinen Script schnell md5 verschlüsseln lassen.

In jedem Verzeichnis, welches du schützen willst packste denn eine entsprechende .htaccess Datei:

AuthType Basic
AuthName "phpMyAdmin-ACCESS"
AuthUserFile /bla/bla/bla/.htpasswd
AuthGroupFile /bla/bla/bla/.htgroup

require group admin


Require Group nimmt wie der Name schon sagt eine bestimmte Gruppe und mit require user kannst du einen speziellen User den Zugriff erlauben. Damit kannst Du Dir dann alles beliebig kombinieren.

Das gleiche natürlich dann angepasst kannst Du auch in die .conf Dateien reinschreiben, wenn Du das nicht in einzelnen Dateien haben willst.

tbrunsfe
19.05.05, 21:25
das Zusammenspiel wie es funktionieren soll scheint mir klar zu sein. Was ich glaube ist, das wenn ich mich das erste mal am Main Verzeichnis autentisiert habe dies auch für die Sub directories automatisch gilt.

habe gelesen das wenn man mit .htaccess Dateien arbeitet man eine direktive AllowOveride Authconf (wohl in der httpd.conf) konfigurieren muss. Aber wo? Habe verschiedene Scenarien probiert, geht aber nicht.

Gibt es eigentlich ein error log das mir weiterhelfen könnte ??

Tomek
20.05.05, 09:59
Beispiel:

<Directory /srv/www/htdocs/>
AllowOverride AuthConfig
</Directory>
Näheres dazu bitte in der Apache-Dokumentation nachlesen:
http://httpd.apache.org/docs-2.0/mod/core.html#allowoverride

tbrunsfe
23.05.05, 19:50
hallo, danke schon mal für eure Hilfe. Weiter bin ich noch nicht. Die doku habe ich nun auch zum xten mal gewälzt.

Auch dein Vorschlag tuts nicht, Tomek. Bin halt kein Linux Guru, vielleicht ist es ein eher dummer error. Nochmals zur Veranschaulichung: auf meiner hompage habe ich einen link Downloadbereich der in das Downloadverzeichnis /srv/www/htdocs/download verweist. Diese Authentication funktioniert. Nun bin ich im Downloadverzeichnis mit mehreren foldern die ich einzeln nochmals passwort schützen will.

Klicke ich nun auf den sub folder, meinetwegen Steffi, so sollte die dort im Verzeichnis befindliche .htaccess Datei greifen und die Einträge in der httpd.conf (durch Allowoveride Authconf) überschreiben. Doch das tuts immer noch nicht. muss ich dies irgendwie noch enablen, d.h. wenn ich auf das Verzeichnis Steffi klicke hat ein Passwort Dialog aufzugehen ??

die Hoffnung stirbt zuletzt..... (-;

cotelli
23.05.05, 21:28
hi

erstmal 2 links dazu:
1 (http://de.selfhtml.org/servercgi/server/htaccess.htm#allgemeines) und 2 (http://www.linuxhilfen.org/admin/htaccess.html)

ich habe es wie folgt gelöst:
einen ordner unterhalb von htdocs erstellt. z.b. /var/www/htdocs/etc
dann mittels:

htpasswd -c /var/www/htdocs/etc/.passwd steffi
die datei .passwd (mit user steffi) im besagten ordner erstellt.
jetzt sollte der zu schützende ordner "steffi" eine .htaccess-datei bekommen mit folgendem inhalt.

.htaccess



AuthType Basic
AuthName "Zugang-Steffi"
AuthUserFile /var/www/htdocs/etc/.passwd
require user steffi


somit sollte sich ein fenster öffnen passwortgeschützer bereich "Zugang-Steffi"
dann steffi+passwort

solltest du jetzt einen weiteren ordner schützen wollen z.b. denk dir einen aus ich nehm mal klausdieter :), dann

htpasswd /var/www/htdocs/etc/.passwd klausdieter

Achtung!! ohne -c sonst überschreibst du die alte .passwd

so jetzt im zu schützenden ordner wieder eine .htaccess-datei anlegen mit folgenden inhalt:



AuthType Basic
AuthName "Zugang-Klausdieter"
AuthUserFile /var/www/htdocs/etc/.passwd
require user klausdieter


und somit sollte der zu schützende ordner nur vom user klausdieter mit passendem passwort zugänglich sein.

hoffe es hilft weiter.

gruß cotelli

edit:
solltest du jetzt einen ordner haben, der für beide zugänglich sein soll, muss die .htaccess wie folgt aussehen(alles nur beispiele)



AuthType Basic
AuthName "Zugang-Klausdieter+Steffi"
AuthUserFile /var/www/htdocs/etc/.passwd
require user klausdieter steffi