البرمجة

تمكين وصول المستخدم غير الجذري في Docker

بالتأكيد، يمكنك منح مستخدم غير جذري في حاوية Docker إمكانية الوصول إلى المجلد المُرتبط بالمضيف، حتى وإن كنت تشغل التطبيق كمستخدم غير جذري داخل الحاوية. هناك عدة طرق لتحقيق ذلك، وسأوضح لك الطريقة الأكثر شيوعًا والأفضل ممارسة:

فيما يلي الخطوات التفصيلية لإعطاء مستخدم غير جذري في حاوية Docker إمكانية الوصول إلى المجلد المرتبط بالمضيف:

  1. إنشاء مجموعة جديدة:
    قم بإنشاء مجموعة جديدة داخل الحاوية وأعطها الصلاحيات اللازمة للوصول إلى المجلد المرتبط بالمضيف.

    bash
    groupadd -g

    حيث:

    • : هو معرف المجموعة الفريد.
    • : هو اسم المجموعة الجديدة.
  2. إضافة المستخدم إلى المجموعة الجديدة:
    اضف المستخدم غير الجذري الذي تشغل التطبيق به داخل الحاوية إلى المجموعة الجديدة التي أنشأتها.

    bash
    usermod -a -G

    حيث:

    • : اسم المستخدم غير الجذري الذي تريد إضافته إلى المجموعة.
  3. تعيين الصلاحيات على المجلد:
    ضبط الصلاحيات على المجلد المرتبط بالمضيف بحيث تمنح الوصول إلى المجموعة الجديدة.

    bash
    chmod -R 770 /some/folder chown -R : /some/folder

    هنا، 770 تعني أن المجلد يمكن لصاحبه والمجموعة الجديدة الوصول الكامل (قراءة وكتابة وتنفيذ)، و: تعيين المجموعة الجديدة كمجموعة الملفات.

  4. إعادة تشغيل الحاوية:
    قم بإعادة تشغيل الحاوية لتطبيق التغييرات الجديدة.

    bash
    docker restart

    حيث هو اسم الحاوية التي تريد إعادة تشغيلها.

بعد تنفيذ هذه الخطوات، يجب أن يكون لمستخدمك غير الجذري الآن الصلاحية للوصول إلى المجلد المرتبط بالمضيف داخل الحاوية Docker والقيام بالعمليات اللازمة (مثل القراءة والكتابة). هذا المقترح يسمح لك بالتمتع بمزايا الأمان التي تأتي مع تشغيل التطبيقات كمستخدمين غير جذريين داخل حاويات Docker دون التضحية بالوصول إلى المجلدات المرتبطة بالمضيف.

المزيد من المعلومات

  1. التحقق من الصلاحيات:
    قم بتسجيل الدخول إلى الحاوية كمستخدم غير جذري وتحقق من أن لديك الصلاحيات الكافية للوصول إلى المجلد المضاف للحاوية.

    bash
    docker exec -u -it /bin/bash

    حيث:

    • : اسم المستخدم غير الجذري الذي قمت بإضافته إلى المجموعة.
    • : اسم الحاوية التي تريد تسجيل الدخول إليها.

    بعد ذلك، قم بالتأكد من أنك قادر على القراءة والكتابة داخل المجلد المضاف للحاوية.

  2. استمرارية الصلاحيات:
    للتأكد من استمرار الصلاحيات على المجلد المضاف للحاوية بعد إعادة تشغيلها، يُفضل إضافة الخطوات المذكورة في الخطوة رقم 3 إلى سكربت تشغيل Docker الخاص بك أو استخدام Docker Compose لتحديد الصلاحيات في التكوين.

    على سبيل المثال، يمكنك استخدام chmod و chown في ملف Dockerfile لتحديد الصلاحيات أثناء بناء الصورة.

  3. التوثيق والمراقبة:
    يُفضل توثيق جميع التغييرات التي تجريها على صلاحيات الملفات وإجراءات إدارة الحاويات. كما يجب مراقبة الصلاحيات بانتظام لضمان استمرارية الأمان والامتثال.

  4. التفكير في البدائل:
    في بعض الحالات، قد لا تكون منح الصلاحيات مباشرةً للمستخدم غير الجذري هي الحلا الأمثل. يمكنك النظر في استخدام تقنيات البرمجيات الأخرى مثل مشاركة الملفات عبر الشبكة (NFS) أو استخدام خدمات التخزين السحابية لتحقيق الغرض النهائي بطريقة أكثر أمانًا وإدارةً.

  5. التدريب والتحديث:
    قم بتوجيه فريقك إلى الطرق الصحيحة لإدارة الحاويات والأمان في بيئة Docker. تأكد من أن جميع أفراد الفريق مدركون للممارسات الجيدة ويتلقون التدريب اللازم بشكل منتظم.

  6. الاستمرارية والتحسين:
    يجب دائمًا إجراء مراجعات دورية للأمان وتحسين العمليات والتكنولوجيا المستخدمة في بيئة Docker. استمر في متابعة أحدث الممارسات والتطورات التكنولوجية لتعزيز الأمان والأداء.

من خلال اتباع هذه الخطوات والممارسات الجيدة، يمكنك منح مستخدم غير جذري في حاوية Docker الوصول الآمن والمُدار إلى المجلد المرتبط بالمضيف، مما يساعد على تحقيق الأمان والفعالية في بيئة التطوير والإنتاج.

مقالات ذات صلة

زر الذهاب إلى الأعلى

المحتوى محمي من النسخ !!