لا يختار Home Assistant اسم مستخدم مضيف واضحًا عند إعادة إنشاء ملف. عادةً ما يرث الملف الجديد معرّف المستخدم الرقمي (UID) ومعرّف المجموعة الرقمي (GID) وقناع الأذونات (umask) وقائمة التحكم بالوصول (ACL) وقواعد نظام الملفات الخاصة بالعملية التي أنشأته داخل الحاوية.
يظهر هذا عند استخدام نقطة ربط (bind mount)، لأن Linux يسجل الهويات الرقمية، بينما قد يربط المضيف والحاوية أسماءً مختلفة بالرقم نفسه. قبل تغيير الأذونات، أوقف Home Assistant، وسجّل المالكين الرقميين القديم والجديد، وحدد عملية التشغيل، وتحقق مما إذا كان الملف قد أنشأه Home Assistant أو نقطة الدخول أو أداة نسخ احتياطي أو المضيف.
تأكد من العملية التي أنشأت الملف
قارن وقت إنشاء الملف أو تعديله بوقت بدء الحاوية أو الاستعادة أو التحديث أو مهمة الإضافة. ثم افحص UID وGID الرقميين على المضيف وهوية عملية Home Assistant داخل الحاوية. قد تختلف أسماء المستخدمين؛ أما الأرقام فهي المقارنة الموثوقة.
تتمثل مشكلة الحاوية الأساسية في أن الملفات المرتبطة بنقطة ربط تُنشأ بهوية عملية الحاوية. يوضح عدم تطابق مالك نظام ملفات المضيف في شرح مستقل سبب عدم كفاية تطابق الأسماء وحده لحل اختلافات UID وGID الرقمية.
إذا تطابق المالك الجديد مع عملية الحاوية، فقد تأكد السبب الأساسي. وإذا تطابق مع root أو أداة مساعدة أخرى، فافحص نقطة الدخول أو أداة الاستعادة أو المهمة المجدولة أو البرنامج النصي على المضيف قبل تغيير مستخدم تشغيل Home Assistant.
افحص نقطة الربط وقائمة التحكم بالوصول وحدود نظام الملفات
تأكد من أن المسار هو نقطة الربط المقصودة، وليس وحدة تخزين مسماة أو دليل صورة حجبه mount. افحص مالك الدليل الأصل ووضعه وقائمة التحكم بالوصول الافتراضية، وتحقق مما إذا كان نظام الملفات محليًا أو NFS أو SMB أو مسارًا آخر مدعومًا عبر الشبكة.
لا يمكن للعملية إنشاء ملف إلا وفق الأذونات والتعيين اللذين يقدمهما نظام الملفات. يمكن لتعيين هوية NFS ومنع root وتخيارات ربط SMB وقوائم التحكم بالوصول الافتراضية وقناع أذونات مقيّد أن تغيّر المالك الظاهر أو صلاحية الكتابة، حتى عندما يكون UID الحاوية صحيحًا.
إذا حصل ملف مؤقت أُنشئ بUID التشغيل على المالك المتوقع، فتابع البحث عن الجهة التي أنشأته على مستوى التطبيق. وإذا حصل على المالك الخطأ، فأصلح تعيين نقطة الربط أو نظام الملفات أولًا؛ إذ لن يتجاوز تغيير إعدادات Home Assistant هذه الطبقة.
أصلح عدم تطابق الملكية المؤكد فقط
أوقف Home Assistant قبل تغيير ملكية قاعدة البيانات أو السجل أو ملفات الإعداد النشطة. أنشئ نسخة احتياطية أو لقطة، ثم غيّر المسار المتأثر فقط إلى UID وGID الخاصين بالخدمة بعد التحقق منهما. حافظ على بتات التنفيذ وقوائم التحكم بالوصول والأذونات الخاصة بدلًا من تطبيق وضع واسع مثل إتاحة الكتابة للجميع.
حدّث تعريف النشر بحيث تُستخدم هوية التشغيل نفسها بعد إعادة الإنشاء، أو وثّق سبب وجوب تشغيل الصورة بهويتها الافتراضية واجعل مسار المضيف يطابقها. تجنب تنفيذ chown عند بدء التشغيل على الشجرة بأكملها في كل إقلاع؛ فقد يكون بطيئًا، ويخفي أخطاء التصميم، ويغيّر الملفات التي تملكها خدمات أخرى.
يوفر دليل ZimaSpace حول منع انحراف الأذونات قائمة التحقق التشغيلية الأوسع لنقاط الربط والملكية واختبارات الكتابة وسلوك الاستعادة بعد تصحيح عدم تطابق المالك مباشرةً.
تحقق من الملكية بعد إعادة الإنشاء وإجراء كتابة فعلي
شغّل Home Assistant ونفّذ العملية نفسها التي أعادت إنشاء الملف. تأكد من أن الملف الجديد يملك المالك الرقمي المقصود، وأن Home Assistant يستطيع تحديثه، وأن عملية النسخ الاحتياطي على المضيف تستطيع قراءته. لا يثبت التشغيل الناجح الإصلاح إذا لم تحدث عملية كتابة.
أعد التشغيل مرة واحدة وأعد إنشاء الحاوية من الإعداد المحفوظ. يجب أن تظل الملكية وقائمة التحكم بالوصول وسلوك الكتابة مستقرة بعد الحدثين. افحص السجلات بحثًا عن رفض الأذونات أو قاعدة بيانات للقراءة فقط أو فشل النسخ الاحتياطي أو أخطاء إعداد التكامل.
صعّد المشكلة إلى مشرف الصورة أو مسؤول التخزين إذا تغيّرت هوية الإنشاء بشكل غير متوقع بين الإصدارات، أو أعاد نظام ملفات شبكي كتابة الملكية، أو تعذّر على خدمة مطلوبة مشاركة المسار بأمان. احتفظ بالمعرّفات الرقمية وتعريف نقطة الربط ونوع نظام الملفات وإعادة الإنتاج المصغّرة للمشكلة.
الدعم والنصائح
المزيد للقراءة

كيفية تحسين اتصالات قاعدة بيانات Home Assistant للحاويات المتزامنة
اضبط قاعدة بيانات Recorder الخارجية استنادًا إلى الاتصالات النشطة وزمن الاستجابة المُقاسَين، وليس عبر زيادة الحد الأقصى للاتصالات أو نسخ تجمّع اتصالات مضيف آخر.

كيفية منع تكرار المهام أو عمليات الاستيراد في Home Assistant
استخدم سجلات التتبّع ومفاتيح العمليات الفريدة لجعل عمليات الأتمتة والاستيراد آمنة عند إعادة المحاولة، من دون إنشاء إجراءات أو سجلات مكررة.

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

