Zweimal Require???

Alles, was den Apache betrifft, kann hier besprochen werden.

Zweimal Require???

Postby BigBen » 03. June 2007 15:47

Hallo,

ich habe mal ne allgemeine Verständnisfrage. Ich habe folgendes Szenario. Eine Anwendung ermöglicht Zugriff auf ein SVN, sie gleicht die Benutzernamen mit einer Active Directory (Win2003Server) ab, also alle Benutzer die dort in einer bestimmten Gruppe liegen sollen Zugriff auf gewisse Repositories haben. Dazu erstellt die Appl die SVN Zugriffsdateien.
Meine Aufgabe ist es nun einen Apache so zu konfigurieren das er das alles abschirmt. AD und Applikation laufen hinter ner Firewall auf die nur der Apache zugriff hat, gut jedenfalls zu meiner Frage.
Ich wollte das mit Location machen wenn jemand auf /svn geht das ich das dann abgreife. Dann muss ich den Benutzer abfragen der sich anmelden will. Diesen Benutzernamen den der Client eingibt frag ich an der AD nach ob er existiert bzw. in der Gruppe liegt und Zugriffsrechte hat, dies mache ich mittel Require ldap-user „testuser“ (muss ich dann später noch irgendwie auf die ganze Gruppe umstellen, kenne aber den Gruppennamen noch nicht darum mache ich es jetzt erstmal mit einer Testperson).
So, nachdem ich nun in der AD verifiziert habe das der User bekannt ist, will ich schauen ob der auf das angefragt SVN-Rep Zugriff hat. Dazu benutze ich die Direktive

AuthzSVNAccessFile ”meinPfad… repository/acl.svn”

und eigentlich müsste ich dann ja auch noch mal

require valid-user

damit ich abfragen kann ob der auch laut file berechtigt is auf das Rep zuzugreifen...

Aber das funktioniert doch gar nicht da ich den die Direktive „REQUIRE“ schon für das LDAP also bei der AD Abfrage benötigt habe. Woher soll Apache nun wissen wann er was querien müsste…
Darum meine Frage: Wie kann ich ein solches Szenario mit Apache umsetzen, geht das überhaupt? Oder steh ich grad irgendwie auf’m Schlauch? Kann mir da mal bitte jemand nen Denkanstoss aufn Hinterkopf geben? ;-)
Danke! 

Grüße

Benny
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52

Postby BigBen » 04. June 2007 19:23

Hallo,

also ich habe falsch gedacht :-P Die Authentifizierung mach ich über die AD, das klappt auch und mit diesem Benutzernamen will ich dann prüfen ob der auf das angefragte Repo zugreifen darf.

Ich hab das Ganze mal ohne AD getestet und mit einem Apache htpasswd auth file (harry und sally beispiel in der Subversion doku). Doch auch hier klappt das anmelden ins Rep nicht mehr (anmelden an sich klappt aber, mit ne webseite getestet), sobald ich AuthzSVNAccessFile reinnehme... :-( Kann mir da jemand helfen?

httpd.conf:

LoadModule ldap_module modules/mod_ldap.so
LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

Die beiden svn module von der svn page geladen für 2.2.4, die andern sind die Standard von WAMPP

<Location /svntest2>
AuthType Basic
AuthName "Ich will ins SVN mittels authfile von Apache!"
DAV svn
SVNParentPath "C:/Program Files...repository/svn"
AuthUserFile "C:\Apach2Test\Apache2\authfile"
AuthzSVNAccessFile "C:/Program Files...repository/acl.svn"
Require valid-user
</Location>

Die Reps sollten dort liegen zumindest wird es nach windows so angegeben: C:\Program Files\...\repository\svn\TestRep und da liegen och ein paar andere

So, das AuthzSVNAccessFile sieht wie folgt aus:

[TestRep:/]
harry = rw

[meinRep:/]
* = rw

Wenn ich wie gesagt AuthzSVNAccessFile rausnehme dann funktionierts. Mit dem funktionierts nicht, warum??? Ist das File falsch? Aber bei den 2 Zeilen kann doch nicht viel falsch sein :-) auch ein [/]* = rw hat nicht funktioniert.
Ist da was im Modul falsch? Oder meiner SVN Installation?

ICH BIN FÜR JEDE IDEE DANKBAR!!!!!!!

Grüße

benny
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52

Postby martinpre » 04. June 2007 19:35

ich hab auch subversion installiert, bei mir funktioniert der aufruf auf /svn/ nicht (forbidden), aber wenn ich die Reps direkt anspreche (zB /svn/rep1/) funktioniert das, wenn ich die Zugriffrechte hab, einwandfrei.
martinpre
 
Posts: 405
Joined: 22. May 2006 16:14
Location: Nähe Tulln / Österreich

Postby BigBen » 05. June 2007 06:44

ich geh auch immer direkt aufs Rep also svntest2/TestRep/ und ohne das file funktioniert der Zugriff ja auch, interessanterweise erhalte ich bei svntest2/TestRep/ von firefox eine "diese Seite kann nicht angezeigt werden" also nen 403er oder? wenn ich auf svntest2/ gehe dann bekomme ich "Sie haben keine Berechtigung" also 401er... das stimmt doch auch nicht so ganz oder doch? Was ist hier nur falsch? ich werd noch bekloppt :-)
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52

Postby KingCrunch » 05. June 2007 12:31

Also, "not allowed" ist 403 und "kann nicht angezeigt werden" vermutlich eher ein 404, aber das eher nebenbei.

Es ist insofern logisch, dass der Zugriff auf Reps ja für einzelne User geregelt werden kan, so dass ich zB auch anonymen Zugriff auf Rep1, aber nur Benutzerzugriff auf Rep2 erlaube. Das der Root gesperrt ist, ist für mich logisch, da ein anonymer Zugriff meines Erachtens garnicht erst wissen muss, dass es Rep2 gibt. Ob es vom System überhaupt möglich ist auf das Root zuzugreifen, oder pauschal verboten ist, weiß ich nicht. In der Regel ist dies aber auch nicht notwendig.
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby BigBen » 05. June 2007 20:09

@KingCrunch, ich versteh zwar nicht alles was Du sagst, aber warum kann dann ein Benutzer "harry" von Remote also von ner anderen IP nicht auf das TestRep zugreifen, wenn doch : [TestRep:/] harry = rw gesetzt ist???
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52

Postby KingCrunch » 06. June 2007 00:18

Kann er denn überhaupt auf dich zugreifen? Sprich: Was is mit Ports, Forwarding und so?
Nicht jeder Fehler ist ein Bug ...
KingCrunch
 
Posts: 1724
Joined: 26. November 2005 19:25

Postby BigBen » 06. June 2007 06:44

ja das kann er, ich will die user eigentlich über nen LDAP abrufen, aber da hab ich noch schwierigkeiten das mit ne require ldap-group zu machen, darum mach ich es im moment noch zum testen mit ein paar usern die in der htpasswd eingetragen sind, wenn ich alles so lasse nur das
#AuthzSVNAccessFile auskommentiere, dann frägt er den benutzer ab, ich geb harry und pw ein und ich bekomme das svn, wunderschön, sobald ich die zeile einkommentier geht nix mehr,... dann kanns ja nicht an ports usw liegen, oder?
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52

Postby BigBen » 08. June 2007 16:49

HILFE! Also, nachdem das auf dem Produktivserver nicht klappte mit LDAP usw dacht ich mir, mach ichs doch mal über das lange WE schön zu Hause. WinXP, Apache 2.2.4 Module und DLLs von subversion gezogen (http://subversion.tigris.org/servlets/P ... lder=8100&
folderID=91
) reingeklatsch und geloaded, alles wunderbar, harry und sally angelegt wieder wunderbar, auf SVN kann zugegriffen werden!!!
Doch, sobald ich meinen HORRORZEILE einkommentiere:

AuthzSVNAccessFile D:/SVNTEST/access.svn

klappt es natürlich NICHT mehr... nur das ich hier was komisches bekomme und nicht wie aufm win2003 Server nur Internal Error.... Windows mault das der Apache ein Problem festgestellt hat und beendet werden muss, in der Problembeschreibung steht folgendes:

szAppName : httpd.exe szAppVer : 2.2.4.0 szModName : libapr.dll
szModVer : 0.0.0.0 offset : 00007c7c

Haben die da irgendwas falsch zusammengebaut für die 2.2.4 Version? Hab ich was falsches reinkopiert/runtergeladen?

Das SVN Auth file beinhaltet nur das:
[/]
harry = rw


[TestRep1:/]
harry = rw

Bei ner Google Suche nach "libapr.dll AuthzSVNAccessFile" hab ich etwas über nen Bug gefunden, aber das scheint nicht meiner zu sein. Die case-sensitive habe ich beachtet,... was kann das denn sein???
User avatar
BigBen
 
Posts: 10
Joined: 24. May 2007 18:52


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests