2008-09-22 45 views
0

我在apache2中設置了DAV,效果很好。問題是,所有的讀/寫操作都是通過apache用戶的憑證完成的。相反,我想使用HTTP身份驗證用戶的憑據。如果我認證爲「john」,則所有讀寫操作都應使用系統用戶john的憑證(來自/ etc/passwd)。 suEXEC似乎有點小題大做,因爲我沒有執行什麼,但我可能是錯的...如何以Apache/WebDAV身份驗證的用戶進行讀寫?

這裏的當前配置:

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

回答

1

多年來,我們一直在使用davenport(http://davenport.sourceforge.net/)來提供通過webdav訪問Windows/samba共享。 Samba/Windows對這類事物提供了很多控制權,而且Davenport只是通過SSL通過SSL使用而不需要VPN

2

射擊的答案,而據我所知:你不知道。

長答案:可以使用適當的mpm來實現這樣的功能,並且有這樣做,但它們似乎不被主動支持,並且至少不在主線Apache代碼庫。

每用戶:

問:是否每用戶可供生產使用?答:一般情況下,不需要。

perchild選項:

此模塊不起作用。這個模塊的開發並不完整,目前不活躍。除非你是一個願意幫助解決它的程序員,否則不要使用perchild。

這太糟糕了,真的; WebDav的大部分用途我已經在應用程序層和數據庫中看到過商店所有權信息。做文件共享的共識是使用Samba來代替;我承認這不是一個真正的解決方案。

+0

我認爲主要的問題是爲了讓Apache進程承擔角色一個通過網絡登錄的用戶,apache(或者任何HTTP服務器)必須能夠切換用戶,實質上它必須具有提升的權限,這可以打開各種遠程攻擊問題。 – 2011-03-10 19:59:39

相關問題