Как мне читать / записывать от имени пользователя, прошедшего проверку подлинности, с помощью Apache / WebDAV?
-
02-07-2019 - |
Вопрос
Я настроил DAV в apache2, который отлично работает.Дело в том, что все операции чтения / записи выполняются с учетными данными пользователя 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/) в течение многих лет предоставлял доступ к общим ресурсам Windows / samba через webdav.Samba / Windows дает большой контроль над подобными вещами, а Davenport просто позволяет использовать его в Интернете по протоколу SSL без VPN
Другие советы
Выстрел в ответ, и, насколько я знаю,:ты этого не делаешь.
Длинный ответ:такую функцию можно реализовать с помощью соответствующего mpm, и там были различные попытки чтобы сделать это, но они, похоже, не очень активно поддерживаются и, по крайней мере, не входят в основную кодовую базу Apache.
просматривающий:
Q.Готов ли пользователь к производственному использованию?
A.В общем, нет.
перчайлд:
Этот модуль неработоспособен.Разработка этого модуля не завершена и в настоящее время не активна.Не используйте perchild, если вы не программист, готовый помочь это исправить.
Это очень плохо, на самом деле;большинство применений WebDAV, которые я видел, хранят информацию о владельце на прикладном уровне, во всяком случае, в базе данных.Консенсус в отношении совместного использования файлов заключается в использовании Samba вместо этого;и я признаю, что на самом деле это не решение.