كيف يمكنني إنشاء وصول FTP للقراءة فقط للمستخدم على Apache Server؟

StackOverflow https://stackoverflow.com/questions/3725058

  •  03-10-2019
  •  | 
  •  

سؤال

لدي موقع ويب مع الكثير من صفحات التصوير الفوتوغرافي. من أجل السماح للزائرين بتنزيل مجموعات من الصور دون الحاجة إلى حفظ كل صورة بشكل فردي ، أريد إنشاء أ قراءة فقط مستخدم 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>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top