我在apache2中设置了DAV,效果很好。问题是,所有读/写操作都是使用apache用户的凭据完成的。相反,我想使用HTTP身份验证用户的凭据。如果我作为“john”进行身份验证,则所有读写操作都应使用系统用户john的凭据(来自/ etc / passwd)。 suEXEC 似乎有点矫枉过正,因为我没有执行任何操作,但我可能错了...

以下是当前配置:

<VirtualHost *:80>
        DocumentRoot /var/www/webdav
        ServerName webdav.mydomain.com
        ServerAdmin webmaster@mydomain.com

       <Location "/">
               DAV On
               AuthType Basic
               AuthName "WebDAV Restricted"
               AuthUserFile /etc/apache2/extra/webdav-passwords
               require valid-user

               Options +Indexes
       </Location>
        DAVLockDB /var/lib/dav/lockdb

        ErrorLog /var/log/apache2/webdav-error.log
        TransferLog /var/log/apache2/webdav-access.log
</VirtualHost>
有帮助吗?

解决方案

多年来我们一直在使用davenport( http://davenport.sourceforge.net/ )通过webdav提供对Windows / samba共享的访问。 Samba / Windows对这种事情提供了很多控制,而Davenport只是让它可以在没有VPN的情况下通过SSL在Web上使用

其他提示

拍摄答案,据我所知:你没有。

答案很长:可以用适当的mpm实现这样的功能,并且有各种各样的 尝试这样做,但他们似乎没有非常积极地支持,并且至少不在主线Apache代码库中。

每用户:

  

Q值。 peruser是否已准备好投入生产?

     

一个。一般来说,没有。

perchild选项:

  

此模块无法使用。此模块的开发尚未完成,目前尚未激活。除非您是愿意帮助修复它的程序员,否则不要使用perchild。

太糟糕了,真的; WebDav的大多数用途无论如何,我已经在应用程序层,数据库中看到了商店所有权信息。进行文件共享的共识是使用Samba;我承认,这不是一个真正的解决方案。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top