كيف يمكنني القراءة/الكتابة كمستخدم تمت مصادقته باستخدام 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>
المحلول
لقد تم استخدام دافنبورت (http://davenport.sourceforge.net/) لسنوات لتوفير الوصول إلى مشاركات Windows/samba عبر webdav.يمنح Samba/Windows قدرًا كبيرًا من التحكم في هذا النوع من الأشياء، ويجعله Davenport قابلاً للاستخدام عبر الويب عبر SSL بدون VPN
نصائح أخرى
الجواب بالرصاص، وعلى حد علمي:لم تكن.
اجابة طويلة:فمن الممكن تنفيذ مثل هذه الميزة مع MPM المناسبة، وكان هناك متنوع محاولات للقيام بذلك، ولكن لا يبدو أنها مدعومة بشكل نشط، وعلى الأقل ليست في قاعدة بيانات Apache الرئيسية.
لكل مستخدم:
س.هل المطلع جاهز للاستخدام في الإنتاج؟
أ.بشكل عام، لا.
لكل طفل:
هذه الوحدة ليست وظيفية.لم يكتمل تطوير هذه الوحدة وهي غير نشطة حاليًا.لا تستخدم perchild إلا إذا كنت مبرمجًا على استعداد للمساعدة في إصلاحه.
هذا سيء للغاية، حقًا؛معظم استخدامات WebDav رأيت معلومات ملكية المتجر في طبقة التطبيق، في قاعدة البيانات، على أي حال.الإجماع على مشاركة الملفات هو استخدام Samba بدلاً من ذلك؛وهذا ليس حلاً حقًا، أعترف بذلك.