كيف يمكنني إنشاء وصول FTP للقراءة فقط للمستخدم على Apache Server؟
سؤال
لدي موقع ويب مع الكثير من صفحات التصوير الفوتوغرافي. من أجل السماح للزائرين بتنزيل مجموعات من الصور دون الحاجة إلى حفظ كل صورة بشكل فردي ، أريد إنشاء أ قراءة فقط مستخدم FTP سيكون ذلك متاحًا للجمهور.
عبر لوحة التحكم للمضيف ، يمكنني إنشاء حسابات مستخدم FTP "العادية" ، لكن لديهم وصول للكتابة ، وهو أمر غير مقبول.
لأن هناك العديد من المجالات والنطاقات الفرعية المستضافة على نفس الخادم لا أريد استخدام FTP المجهول-يجب أن يكون حساب FTP للقراءة فقط يقتصر على دليل محدد/فرعي.
إذا كان ذلك ممكنًا ، أود أيضًا أن أعرف كيف استبعاد الدلائل المحددة من وصول FTP للقراءة فقط ، منح هذا المستخدم الجديد.
لقد نظرت في كل مكان على الخادم للعثور على مكان تخزين معلومات حساب المستخدم دون جدوى. على وجه التحديد ، نظرت إلى httpd.conf ، ووجدت loadmodule proxy_ftp_module modules/mod_proxy_ftp.so, ، لكنني لا أعرف كيفية العمل معها (أو إذا كانت ذات صلة).
المحلول
يبدو أن سبب استخدام FTP هو السماح للأشخاص بتنزيل العديد من الصور الفوتوغرافية مرة واحدة. يمكنك فقط تقديم روابط إلى ملفات zip أيضًا ، باستخدام التحكم القياسي Apache HTTP Access. وبهذه الطريقة ، يتم التخلص من خطر حذف أو الكتابة فوق ملفاتك ، والتي ذكرتها ، باستخدام HTTP العادي.
يمكنك عمل دليل واحد لتقديم فهرس من ملفات zip للتنزيل
<Directory /var/www/photos/>
Order allow,deny
Allow from all
Options Indexes
</Directory>
وتطبيق الأذونات القياسية على بقية أدلةك
# your file system is off limits
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
DocumentRoot /var/www/
# the rest of your content.
<Directory /var/www/>
<LimitExcept GET POST>
deny from all
</LimitExcept>
Order allow,deny
Allow from all
Options None
</Directory>