如何以Apache / WebDAV身份验证的用户身份进行读取/写入?

时间:2020-03-06 14:32:02  来源:igfitidea点击:

我已经在apache2中设置了DAV,效果很好。关键是,所有读/写操作都是使用apache用户的凭据完成的。相反,我想使用HTTP身份验证的用户凭据。如果我以" john"身份验证,则所有读取和写入操作都应使用系统用户john的凭据(来自/ etc / passwd)。 suEXEC似乎有点过分,因为我什么都不执行,但是我可能错了。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

这是当前配置:

<VirtualHost *:80>
        DocumentRoot /var/www/webdav
        ServerName webdav.mydomain.com
        ServerAdmin [email protected]

       <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>

解决方案

开枪回答,据我所知:你不知道。

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

使用者:

Q. Is peruser ready for production use?
  
  A. In general, no.

小孩:

This module is not functional. Development of this module is not complete and is not currently active. Do not use perchild unless you are a programmer willing to help fix it.

真的太糟糕了;无论如何,WebDav的大多数用法我都已经在应用程序层,数据库中存储了所有权信息。进行文件共享的共识是改为使用Samba。我承认那并不是真正的解决方案。

多年来,我们一直在使用davenport(http://davenport.sourceforge.net/)通过webdav提供对Windows / samba共享的访问。 Samba / Windows可以很好地控制这种情况,而Davenport使其可以通过SSL在Web上使用,而无需使用VPN