Restic: تؤدي الاستعادة باستخدام --include إلى إنشاء أدلة بأذونات خاطئة في الطريق إلى الأسفل.

تم إنشاؤها على ٣١ أكتوبر ٢٠١٧  ·  5تعليقات  ·  مصدر: restic/restic

ناتج restic version

restic 0.7.3
تم تجميعه باستخدام go1.9 على نظام Linux / amd64

كيف قمت بتشغيل restic بالضبط؟

انظر الى التفاصيل بالاسفل

ما الخلفية / الخادم / الخدمة التي استخدمتها؟

العميل: Debian Stable (9.2)
الخادم: خادم FreeBSD 11.1 في الشبكة المحلية باستخدام OpenSSH (OpenSSH_7.2p2 ، OpenSSL 1.0.2k-freebsd 26 يناير 2017)

سلوك متوقع

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

السلوك الفعلي

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

خطوات إعادة إنتاج السلوك

mkdir testdir # إنشاء دليل
المس testdir / testfile # قم بإنشاء ملف فيه
chmod 755 testdir testdir / testfile # اجعل shure الأذونات 755
su # التبديل إلى الجذر
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest backup testdir # عمل النسخة الاحتياطية
restic -r sftp: rakor @ SERVER : / usr / home / rakor / resticbackuptest استعادة أحدث -t testrestore -i testfile # استعادة الملف (وليس الدليل بأكمله)
ls -lR testrestore # يتم استعادة الملف مع المالك والأذونات الصحيحة. لكن الدلائل في طريقها إلى الملف تتم استعادتها باستخدام "الجذر" للمستخدم والأذونات 700.
تستريستور /:
إنجسمت 4
drwx ------ 2 جذر 4096 Okt 31 21:30 testdir

تستريستور / تستدير:
insgesamt 0
-rwxr-xr-x 1 rakor rakor 0 Okt 31 21:25 testfile

هل لديك أي فكرة عن سبب هذا؟

أعتقد أن الدلائل الموجودة على الطريق لا يتم "استعادتها" ولكن "تم إنشاؤها" باستخدام "إعدادات افتراضية آمنة".

هل لديك فكرة عن كيفية حل المشكلة؟

استعادة الدلائل الفارغة بدلاً من مجرد إنشائها.

restore bug

التعليق الأكثر فائدة

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

أيضًا ، يُنظر إلى السلوك الحالي على أنه "نصف استعادة" لهذه الأدلة الوسيطة (تمت استعادة وجودها ، لكن سماتها ليست كذلك) ، والتي تبدو غير متسقة / غير منطقية.

ال 5 كومينتر

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

أي أفكار أخرى في هذا الشأن؟

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

أيضًا ، يُنظر إلى السلوك الحالي على أنه "نصف استعادة" لهذه الأدلة الوسيطة (تمت استعادة وجودها ، لكن سماتها ليست كذلك) ، والتي تبدو غير متسقة / غير منطقية.

أظن أن هذه حشرة. إذا كنت أرغب في استعادة جزء من نسخة احتياطية ، فيجب أن تكون النسخة المستعادة قابلة للاستخدام. حاليًا ، لا يمكن استخدامه دون إجراء عمليات restic ls لاكتشاف الأذونات والمالك والمجموعة المناسبة لكل عنصر مسار تم إنشاؤه تلقائيًا. إنه يجعل استعادة الملفات / الدلائل أمرًا صعبًا حقًا.

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

ومع ذلك ، يمكنني رؤية حالة استخدام في كلا النوعين من الأذونات:

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

أعتقد أن الطريقة المعقولة للمضي قدمًا هي أنه يمكن للمرء التحكم في الملكية و / أو الأذونات التي تستعيدها بعض الخيارات (الخيارات) لأمر الاستعادة.

هل يمكن لأي شخص أن يؤكد أنه لا يزال يمثل مشكلة؟ منذ إصدار 0.7.3 ، أجرينا بعض التغييرات على معالجة الإذن (والطابع الزمني) للأدلة الوسيطة ...

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات