• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] WebDAV mit Apache, User in Verzeichnis einsperren

Tag zusammen,

ich möchte mod_rewrite benutzen um einen Apache DAV Server auf zusetzten und angemeldete User in ihrem Verzeichnis einzusprerren
Leider waren alle Versuche erfolglos...
Das Anmelden funktioniert tadellos, aber die Clients gehen in einen Endlosschleife.
Benutze ich die selbe config ohne Authentifizierung funktioniert es ... das ist aber leider nicht der Sinn der Sache.
Auch funktioniert die DAV Freigabe ohne Probleme nur das Zusammenspiel
das will nicht.
Ich nutze openSUSE 10.2 mit Apache 2.2.3.

meine conf:
Code:
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 9

DavLockDB "/srv/www/var/DavLock"

<Location /upload>
    Options FollowSymLinks
    ForceType text/plain
    AllowOverride None
    Order allow,deny
    allow from all
    Dav On
    AuthType Basic
    AuthName Server
    AuthUserFile "/srv/www/user.htpasswd"
    AuthGroupFile "/srv/www/user.group"
    RewriteEngine On
    RewriteCond %{REMOTE_USER} !=""
    RewriteRule ^ /srv/www/htdocs/upload/%{REMOTE_USER}/$1
    <Limit PUT POST PROPFIND PROPPATCH MKCOL COPY LOCK UNLOCK GET HEAD DELETE MOVE OPTIONS>
        Require user user1 admin
    </Limit>
    <LimitExcept GET HEAD DELETE MOVE OPTIONS>
        Require group rw
    </LimitExcept>


</Location>


BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[0123]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully

Das loggt das Modul rewrite:
Code:
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (4) [perdir /upload/] RewriteCond: input='admin' pattern='!=' => matched
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (2) [perdir /upload/] rewrite '/srv/www/htdocs/upload/admin/' -> '/upload/admin/'
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (2) [perdir /upload/] explicitly forcing redirect with http://**.** .**.**/upload/admin/
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.** /sid#5555557c37a0][rid#555555a7adf8/initial] (2) [perdir /upload/] trying to replace prefix /upload/ with /upload
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (5) strip matching prefix: upload/admin/ -> admin/
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (4) add subst prefix: admin/ -> upload/admin/
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (1) [perdir /upload/] escaping http://**.** .**.**/upload/admin/ for redirect
**.** .**.** - admin [07/Feb/2007:11:40:47 +0100] [**.** .**.**/sid#5555557c37a0][rid#555555a7adf8/initial] (1) [perdir /upload/] redirect to http://**.** .**.**/upload/admin/ [REDIRECT/301]

und das loggt der Apache:
Code:
[error] [client ***.***.***.***] Provider encountered an error while streaming a multistatus PROPFIND response.  [404, #0]

Vielleicht gibt es ja auch eine andere Möglichkeit User nach dem Login in ihr Verzeichnis zu routen.

Danke für eure Hilfe.

Grüße Beppo
 
Hallo!

Hat keiner ne Idee wie das funktionieren kann?
Ich möchte halt nicht das jeder die Verzeichnisse der anderen sehen kann und das es nur eine einfache URL gibt bei der man sich anmelden muss...
Ftp Server möchte ich nicht aufsetzten, da es schlechter zu firewallen ist und
der SSL Support schwieriger auf zusetzten ist.

Danke

Grüße Beppo
 
Hey

nö, keine Ahnung

aber vielleicht hilft das Passthrougth Flag [PT]

http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule


cu Huflatisch
 
Hallo,

danke für deine Antwort. Hat aber auch nicht gebracht.

immer wieder hab ich
"Provider encountered an error while streaming a multistatus PROPFIND response" im Apache error_log.
Nehme ich die rewrite Funktion raus läuft es wie am Schnürchen...

Ich denke das geht irgendwie... nur wie :roll:

Grüße Beppo
 
Hey

eigendlich wollte ich dich gerade ins mod_rewrite Forum verfrachten. Aber da haste ja schon inseriert !!!

Vielleicht hats ja was mit den Datei/Verzeichnisrechten zu tun.


cu Huflatisch
 
Ja das ist richtig.

Da hatte ich vor Tagen gepostet, allerdings noch keine Hilfe bekommen.

Es geht mir auch nicht darum, dass es unbedingt mit mod_rewrite gehen muss, sondern vielmehr das es überhaupt geht. :roll:
Wenn es denn machbar ist...

Grüße Beppo
 
Hallo zusammen,

habs zu Fuß gelöst, ohne mod_rewrite zu benutzen.

Danke nochmal

Grüße Beppo
 
Tach,
wenn das Thema damit erledigt ist, dann kennzeichne das bitte durch ein [gelöst] im Titel -> einfach den ersten Post editieren - danke ;)
 
Hallo webff,

wenn du PN schickst solltest du auch welche empfangen können...

ich hab für jeden user eine eigenen Absatz in meiner config gemacht.

Code:
Alias /testuser1 "/webdav/testuser1"

<Directory /webdav/testuser1/>
    SSLRequireSSL
    Dav On
    DAVMinTimeout 600
    Options FollowSymLinks SymLinksIfOwnerMatch Indexes
    ForceType text/plain
    Order deny,allow
    allow from all
    php_flag engine Off
    AllowOverride None

<LimitExcept HEAD>
    AuthType Basic
    AuthName Server
    AuthUserFile "user.htpasswd"
    Require user testuser1 admin
</LimitExcept>
<Limit MKCOL GET HEAD PUT OPTIONS PROPFIND>
    Require user testuser1 admin

</Limit>
</Directory>

Aber ich hab nur "AuthType Basic" da ich die Verbindung ausschließlich verschlüssele "SSLRequireSSL"


Ich hoffe das hilft

Grüße Beppo
 
Ich gebe dir recht, das macht das Forum überflüssig und das soll es nicht.

Nur hat meine Lösung leider nicht mehr so viel mit der Frage zu tun, da ich es ja nicht mit rewrite hinbekommen habe...

Grüße Beppo
 
Oben