أقل صلاحيات ملف (مُقسَّمة)

هل توجد أي إرشادات منشورة حول أذونات الملفات الصحيحة/الحد الأدنى/المُصلَدة لـ Discourse؟

أبحث تحديدًا عن مجموعة من الأوامر المتسقة (idempotent) باستخدام chown و chmod لتقليل الأذونات إلى أدنى حد ممكن ومنحها فقط عند الضرورة للمستخدم/المجموعة ذو الصلاحية الدنيا.

أرغب في تطبيق ذلك على:

  1. الملفات/المجلدات داخل مجلد /var/discourse/ (والمجلدات المهمة الأخرى) على مضيف Docker الخاص بـ Discourse، و
  2. الملفات/المجلدات داخل حاوية Docker الخاصة بـ Discourse، خاصة الملفات/المجلدات داخل جذر مستندات خادم الويب.

على سبيل المثال، أود ضمان أن جميع الملفات/المجلدات في جذر المستندات المكشوف داخل حاوية Discourse:

  1. لا تملك أي أذونات للعالم (0).
  2. تكون قابلة للقراءة والكتابة (2) لمستخدم خادم الويب فقط إذا كان الوصول للكتابة مطلوبًا (أي: مجلد رفع الصور/المرفقات).
  3. تكون للقراءة فقط (4) لمستخدم خادم الويب في غير ذلك.
  4. تملك صلاحية التنفيذ (1) فقط إذا كانت مجلدًا أو إذا كان ذلك مطلوبًا للملف.

شكرًا لكم.

تذكير. هل يمكن للمطورين التدخل؟ سيكون من المفيد جدًا توثيق ذلك.

أفضل ما يمكنني تقديمه هو النظر في ملف container web.yml الخاص بنا في discourse_docker، حيث يتم إعداد الأذونات هناك.

هذا أمر غير تقليدي، وستحتاج إلى التجربة.