فشل النسخ الاحتياطي بسبب الأذونات؟

أواجه خطأ في النسخ الاحتياطي مع

[2020-10-17 23:40:29] EXCEPTION: lib/discourse.rb:92:in `exec': tar: /var/www/discourse/public/backups/default/bringing-data-to-life-2020-10-17-234010-v20200916085541.tar: Cannot open: Permission denied
tar: Error is not recoverable: exiting now

لقد سجلت الدخول إلى الحاوية، وانتقلت إلى الدليل وتأكدت من أن المستخدم root يستطيع إنشاء ملفات.

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

هل تعمل عملية النسخ الاحتياطي باسم مستخدم مختلف عن root؟

على الأرجح نعم. جرّب تغيير الملكية إلى discourse باستخدام أمر chown.

إعجاب واحد (1)

لقد اختبرته للتو في حاوية Docker ويبدو أن كل شيء على ما يرام:

root@gerhard-test-app:/shared/backups/default# ls -la
total 29068
drwxr-xr-x 2 discourse www-data     4096 Oct 18 09:51 .
drwxr-xr-x 3 discourse www-data     4096 Sep 18 15:31 ..
-rw-r--r-- 1 discourse www-data  7606150 Oct 18 09:48 discourse-test-site-2020-10-18-094806-v20201009190955.tar.gz
-rw-r--r-- 1 discourse discourse 7627995 Oct 18 09:51 discourse-test-site-2020-10-18-095138-v20201009190955.tar.gz

تم إنشاء النسخة الاحتياطية الأولى عبر واجهة الويب. أما الثانية فقد تم إنشاؤها باستخدام أمر discourse backup.

/var/www/discourse/public/backups هو رابط رمزي:

root@gerhard-test-app:/var/www/discourse/public# ls -la backups
lrwxrwxrwx 1 root root 15 Oct 18 09:42 backups -> /shared/backups