كيفية استعادة أذونات Jellyfin بعد نقل دليل بياناته

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

بعد نقل دليل بيانات Jellyfin، استعد الأذونات بمطابقة الملفات المنقولة مع الهوية التي تشغّل Jellyfin فعليًا، وتأكد من أن الحاوية أو الخدمة تشير إلى المسار المقصود. لا تبدأ باستخدام chmod -R 777.

قد يؤدي النقل إلى تغيير الملكية الرقمية، أو قوائم التحكم بالوصول الموروثة، أو خيارات التحميل، أو تسميات SELinux، أو معرّف المستخدم/المجموعة UID/GID الذي تستخدمه حاوية أُعيد إنشاؤها. شخّص هذه الطبقات بهذا الترتيب، وأصلح بيانات Jellyfin فقط، ثم شغّل الخادم وتحقق من عمليات الكتابة إلى قاعدة البيانات والبيانات الوصفية والنسخ الاحتياطية والمهام المجدولة قبل تعديل أذونات مكتبة الوسائط.

تأكد من المسار الجديد وهوية تشغيل Jellyfin

أوقف Jellyfin قبل إصلاح بيانات التطبيق المنقولة حتى لا تتسابق عمليات الكتابة الخلفية مع فحصك. تأكد من مسار المضيف الجديد، والمسار الذي يراه Jellyfin داخل الحاوية أو الخدمة، ومن UID/GID لهوية Jellyfin قيد التشغيل.

توصي إرشادات ترحيل Jellyfin صراحةً بتحديد uid وgid لمستخدم Jellyfin والحفاظ على المسارات المتوقعة أثناء الترحيل. إرشادات UID/GID الخاصة بترحيل Jellyfin

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

افحص الملكية وبتات الوضع وقوائم التحكم بالوصول قبل تغييرها

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

قد يؤدي النقل إلى جهاز NAS إلى إدخال نموذج مختلف للهوية والأذونات، خصوصًا عند استخدام SMB أو NFS أو الحاويات. يوضح التشخيص بعد نقل الملفات من ZimaSpace لماذا لا يتجاوز التحميل الظاهر تفويض UID/GID الخاص بعملية الحاوية.

لا تغيّر شيئًا حتى تتمكن من تحديد عدم التطابق بدقة: مالك خاطئ، أو وصول مفقود للمجموعة، أو منع اجتياز الدليل الأصلي، أو قائمة تحكم بالوصول غير متوقعة، أو تحميل للقراءة فقط. يحدد ذلك أصغر إصلاح آمن.

استعد الملكية على بيانات التطبيق المملوكة لـ Jellyfin فقط

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

تتضمن وثائق ترحيل Jellyfin تصحيح الملكية على دليل بيانات Jellyfin بعد النقل. تصحيح الملكية بعد الترحيل تعامل مع ذلك كعملية تستهدف بيانات التطبيق، وليس سببًا للاستيلاء تكراريًا على ملكية مشاركة NAS بأكملها.

بعد تصحيح الملكية، افحص عينة مرة أخرى وأجرِ اختبارًا غير تدميري لقابلية الكتابة بهوية Jellyfin على دليل فرعي مخصص للاختبار. إذا ظلّت الكتابة مرفوضة، فتوقف عن إضافة تغييرات chmod وافحص قوائم التحكم بالوصول أو وضع التحميل أو تسمية الأمان بعد ذلك.

تحقق من وضع تحميل الحاوية وتسميات الأمان

قد يفشل المالك الصحيح على المضيف داخل الحاوية إذا كان التحميل المرتبط للقراءة فقط، أو تغيّر مستخدم التشغيل، أو منع نظام أمان المضيف الوصول إلى المسار. قارن تعريف الحاوية الحالي بآخر تعريف كان يعمل.

يوضح دليل حاويات Jellyfin التشغيل باستخدام UID/GID صريحين، وتحميلات الوسائط للقراءة فقط، وخيارات إعادة التسمية في Podman لبيئات SELinux. أذونات الحاوية وإعادة التسمية قد تتجاوز هذه الضوابط ما تبدو بتات وضع Unix العادية وكأنها تسمح به.

غيّر الطبقة التي تأكدت منها فقط. اجعل تحميل بيانات التطبيق قابلًا للكتابة إذا كان يجب على Jellyfin الكتابة فيه، أو استعد UID/GID الصحيحين للتشغيل، أو طبّق التسمية المناسبة للمنصة على ذلك التحميل. ثم أعد إنشاء الحاوية مرة واحدة وتحقق من المسار نفسه من داخلها.

شغّل Jellyfin وتحقق من الكتابة إلى قاعدة البيانات ودليل البيانات

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

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

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

تراجع عن التغييرات الواسعة وصعّد المشكلة باستخدام أدلة دقيقة

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

بالنسبة إلى الخوادم التي تعمل داخل حاويات، قارن مصدر التحميل الحالي ووجهته وUID/GID والمجموعات وسياق الأمان بالتعريف العامل المحفوظ. وبالنسبة إلى التثبيتات الأصلية، قارن هوية الخدمة وسلوك التحميل وقوائم التحكم بالوصول في نظام ملفات الوجهة. الهدف هو نموذج أذونات واحد يمكن تفسيره.

توقف عندما يفتح Jellyfin قاعدة البيانات الأصلية، ويكتب إلى أدلة بياناته الخاصة، ويكمل العملية الخلفية المختارة، ويصمد بعد إعادة التشغيل. صعّد المشكلة مع الملكية الرقمية ومخرجات قوائم التحكم بالوصول وخيارات التحميل وUID/GID للتشغيل وأول خطأ متعلق بالأذونات في السجل، إذا ظل أي من هذه الاختبارات يفشل.

الدعم والنصائح

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.