Como faço para leitura / gravação como o usuário autenticado com o Apache / WebDAV?
-
02-07-2019 - |
Pergunta
Eu configurei DAV em apache2, que funciona muito bem. A coisa é, todas as operações de leitura / gravação é feito com as credenciais do usuário apache. Em vez disso eu quero usar as credenciais do usuário HTTP autenticado. Se eu autenticar como "John", todas as operações de leitura e gravação deve usar o usuário do sistema credenciais de João (de / etc / passwd). suEXEC parece um exagero desde que eu não estou executando nada, mas eu poderia estar errado ...
Aqui está a configuração atual:
<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>
Solução
Temos vindo a utilizar Davenport ( http://davenport.sourceforge.net/ ) para os próximos anos proporcionar o acesso a ações Windows / samba sobre WebDAV. Samba / Windows dá um grande controle sobre esse tipo de coisa, ea Davenport apenas possibilita o seu uso através da web através de SSL sem uma VPN
Outras dicas
resposta Tiro, e, tanto quanto eu sei:. Você não
Resposta longa: é possível implementar esse recurso com um MPM apropriado, e havia vários tentativas a fazê-lo, mas eles não parecem a ser muito ativamente apoiado, e são pelo menos não na linha principal Apache base de código.
peruser:
Q. É peruser pronto para uso em produção?
A. Em geral, não.
perchild:
Este módulo não é funcional. Desenvolvimento deste módulo não está completo e não está ativo atualmente. Não use perchild a menos que você seja um programador disposto a ajudar a corrigir isso.
Isso é muito ruim, realmente; a maioria dos usos de WebDav Eu vi armazenar informações de propriedade na camada de aplicação, no banco de dados, de qualquer maneira. O consenso para fazer o compartilhamento de arquivos é usar Samba vez; e isso não é realmente uma solução, eu admito.