سؤال

سأبذل قصارى جهدي لشرح كيف أحاول إعداد هذا النظام.

تخيل خادم إنتاج يقوم بتشغيل WHM مع مواقع مختلفة.سنسمي هذه المواقع...الموقع 1، الموقع 2، الموقع 2

الآن، مع إعداد WHM، أصبح لكل موقع مستخدم/مجموعة محددة له، وسنحتفظ بهؤلاء المستخدمين/المجموعات المسماة site1,site2 لأسباب تتعلق بالبساطة.

الآن، يتم تحديث هذه المواقع باستخدام SVN، ومن خلال استخدام برنامج نصي للالتزام اللاحق للتحديث التلقائي لهذه المواقع (مع حظر .svn من خلال تكوين Apache).

هناك اثنان من المشرفين المنتظمين على هذه المواقع، وسنسميهم جو وبوب.يتمتع كل من Joe وBob بإمكانية الوصول عبر سطر الأوامر إلى الخادم من خلال حساباتهما المحدودة.

لقد قمت بالجزء السهل، وتمكنت من جعل SVN يعمل مع هؤلاء "المشرفين" بحيث أنه عند حدوث التزام SVN، يتم سحب التغييرات وتشغيلها بشكل مثالي.

وهنا التحذير، وفي نهاية المطاف مشكلتي.أذونات المستخدم.

من خلال اختباري لهذا الإعداد، تمكنت فقط من تشغيله من خلال منح ما يتم تحديثه أذونات 777، حتى يتمكن جو وبوب من قراءة وكتابة الوصول إلى أدلة واجهة الويب لكل موقع من المواقع.

لذا، مثال لكيفية إعداده الآن:

ينتمي كل من جو وبوب إلى مجموعة تسمى "ديف".لقد قمت بإعداد المجلدات الرئيسية /svn للوصول للقراءة والكتابة لهذه المجموعة، وهي تعمل بشكل رائع.يتم تشغيل نشر الالتزام، وتحديث الموقع، ثم تعيين 777 على كل ملف داخل واجهة الويب.

ثم قمت بعد ذلك بتغيير هذا لمحاولة مراعاة تحديثات أذونات المجموعة، بدلاً من 777 المباشر.

يحصل كل مجلد في /home/site1/public_html مبدئيًا على chmod بقيمة 664، وكل مجلد 775

والذي يبدو قليلا مثل هذا

drwxrwxr-x .
drwxrwxr-x ..
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- site1 site1 my_test_file

لذا فإن site1 هو المالك ومالك المجموعة لتلك الملفات والمجلدات.لذلك قمت بعد ذلك بإضافة site1 إلى مجموعتي Joe وBobs الثانوية بحيث يسمح تحديث SVN بالوصول إلى هذه الملفات بشكل صحيح.

وهنا تكمن المشكلة الآن.

عندما أرغب في إضافة ملف أو مجلد إلى /home/site1، قل Bobs_file، فسيبدو هكذا

drwxrwxr-x .
drwxrwxr-x ..
drwxr-xr-x Bob   dev   bobs_folder
drwxrwxr-x site1 site1 my_test_folder
-rw-rw-r-- Bob   dev   bobs_file
-rw-rw-r-- site1 site1 my_test_file

كيف يمكنني الحصول على ذلك باستخدام مجموعة أذونات المستخدم المتاحة لـ Bob، لتغيير المالك ومالك المجموعة لهذا الملف ليعكس "site1" "site1".نظرًا لأن Bob ينتمي إلى Dev، يمكنني تعيين الأذونات بشكل صحيح باستخدام CHMOd، ولكن يبدو أن CHGRP يتخلص من أخطاء العملية.

الآن كان هذا طويلًا بما يكفي لإعطاء نظرة عامة على ما أحاول تحقيقه بالضبط، فقط في حالة قيامي بهذا الأمر، وهناك حل أسهل بكثير.وهنا أهدافي

  • 2 شخص للتحديث
  • حسابات مستخدمين متعددة محددة بالنظر إلى بنية WHM
  • محاولة الاحتفاظ بأذونات المستخدم/المجموعة الرئيسية للملفات والمجلدات لحساب المستخدم الأصلي، وليس لحساب المُحدِّث.
  • يعجبني أمان SVN+SSH على SVN فقط.
  • لا تريد تشغيل كل هذا على الجذر.

آمل أن يكون هذا منطقيا، وشكرا مقدما :)

هل كانت مفيدة؟

المحلول

يحاول:

$ chown -R site1:site1 /home/site1

سيؤدي هذا إلى تغيير كافة الملفات الموجودة في هذا الدليل بشكل متكرر لتصبح مملوكة للمستخدم "site1" في المجموعة "site1".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top