[linux-l] Apache2 und Webdav (lesend/schreibender Zugriff je nach User)

Schlomo Schapiro belug at schlomo.schapiro.org
Do Jul 28 21:43:14 CEST 2005


Hallo,

solange der Apache nicht als root laeuft, kann er im Dateisystem auch nur 
als sein eigener User agieren (z.B. wwwrun unter SuSE).

Daher erfolgt der Zugriff auf WebDAV Dateien auch erstmal als ebendieser 
User, so dass Deine Einstellungen auf Dateisystemebene witzlos sind. Dort 
muss der Apache User alle Rechte haben und am Besten sonst keiner.

Im Prinzip kannst Du das also nur mit Limit und LimitExcept erreichen, 
wie auch in http://www.webdav.org/mod_dav/install.html#apache beschrieben:

Using LimitExcept

Rather than using the <Limit> directive and specifying an exhaustive list 
of HTTP methods to secure, it is also possible to use the <LimitExcept> 
directive. This directive applies the access restrictions to all methods 
except for the methods listed. For example, your configuration section 
might look like:
<Location /mypages>
    DAV On
    AllowOverride None
    Options None
    <LimitExcept GET HEAD OPTIONS>
        require user webadmin
    </LimitExcept>
</Location>

Choosing to use one or the other is a matter of preference. The <Limit> 
directive is precise and explicit, but the <LimitExcept> directive will 
automatically restrict methods that are added in the future.

Du wuerdest dann noch ein require valid-user und den auth Krempel in die 
Konfig ausserhalb des LimitExcept Blocks aufnehmen.

YMMV,
Schlomo

PS: Bisher kann m.W. nur Apache auf Netware den gewuenschten Trick, das 
liegt aber auch an dem total anderen Unix-like Unterbau von Netware, wo 
Apache letztlich als "root" laeuft und dann in den Kontext des Users 
wechselt. Vielleicht kann man ja unter Linux auch irgendwie Aehnliches 
erreichen, ich hab es leider noch nirgends gesehen.

On Thu, 28 Jul 2005, Robert Koropcak wrote:

> Hallo,
> 
> Ich habe ein kleines Problem, Webdav unter Suse 9.3 einzurichten. Wäre
> toll, wenn mir jemand helfen kann.
> 
> Ich möchte, das alle User nur lesenden Zugriff auf den Inhalt von
> /webdav haben. Der User admin soll auch eine Schreibberechtigung
> besitzen. Bisher haben jedoch i.d.R alle User Vollzugriff. Ordner-,
> Dateiberechtigungen sind auf 750 bzw. 640 für Dateien. Besitzer ist der
> Apache Daemon bzw. dessen Gruppe. 
> 
> Ich habe auch schon verschiedene Kombinationen ausprobiert.
> 
> z.B. auch
> 
> [...]
> 
>         <LimitExcept GET>
>         Require user stephan frank peter ...
>         </LimitExcept>
>         Require user admin
> 
> Hier meine aktuelle Konfiguration:
> 
> /etc/apache2/httpd.conf.local
> 
> HostnameLookups Off
> 
> DavLockDB "/srv/www/htdocs/var/DavLock"
> 
> <Directory "/srv/www/htdocs/webdav">
>         AllowOverride None
>         Options Indexes
>         Dav On
>         <LimitExcept GET>
>         Require valid-user
>         </LimitExcept>
>         Require user admin
>         #ForceType "text/plain"
>         AuthType Basic
>         AuthName "Zugriff nur nach ausdruecklicher Authorisierung erlaubt."
>         AuthUserFile /etc/apache2/htpasswd
>         AuthGroupFile /etc/apache2/htgroup
>         Order deny,allow
>         Deny from all
>         Allow from 192.168.1 62.63.64.65
> </Directory>
> 
> <Directory "/srv/www/htdocs/var">
>         AllowOverride None
>         Order deny,allow
>         Deny from all
>         Allow from 192.168.1 62.63.64.65
> </Directory>
> 
> Ich arbeite mich gerade in Webserver/Apache ein, bin für jeden
> "Verbesserungsvorschlag" offen.
> 
> Grüße
> Robert
> 
> _______________________________________________
> linux-l mailing list
> linux-l at mlists.in-berlin.de
> Die Mailingliste der BeLUG (Berliner Linux User Group)
> 
> Wenn du diese Mailingliste  abbestellen willst, gehe bitte auf
> https://mlists.in-berlin.de/mailman/listinfo/linux-l
> und trage dich dort bitte aus
> 

-- 
Regards,
Schlomo


Mehr Informationen über die Mailingliste linux-l