إصلاح خطأ عدم إذن الوصول للمجلد

إذا كنت تستخدم نظام Linux الفرعي في Windows، أو cygwin، أو أي من الطرق الأخرى المتنوعة لربط Unix و Windows معًا، فقد تواجه خطأ “ليس لديك إذن للوصول إلى هذا المجلد حاليًا”. في بيئة Linux أو Unix خالصة، قد تحصل على خطأ ينص على شيء مثل “خطأ في فتح الدليل: تم رفض الإذن”. يمكن أن يحدث نفس الشيء على محركات الأقراص الشبكية التي تعمل بنظام ملفات متوافق مع POSIX بغض النظر عن نظام التشغيل الذي يتم الوصول إلى البيانات منه.

ليس لديك إذن للوصول إلى هذا المجلد حاليًا

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

الطريقة 1: تغيير الحسابات للوصول إلى الدلائل

حاول الوصول إلى المجلد الذي كنت تحاول الدخول إليه. إذا حاولت الانتقال إليه باستخدام الأمر cd من موجه الأوامر، فستحصل على أمر ينص على شيء مثل bash: cd : Permission denied.

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

خطأ إذن الدليل الرسومي

في هذه الحالة، كنا نحاول الوصول إلى الدليل /lost+found، وهو مغلق للوصول من قبل الجميع باستثناء المستخدم root في معظم تثبيتات Linux. بالعودة إلى الطرفية، اكتب sudo -i واضغط على Enter. سيُطلب منك إدخال كلمة المرور الخاصة بك، ولكن سيكون لديك بعد ذلك صدفة تسجيل دخول الجذر (root login shell). يمكنك الانتقال إلى الدليل باستخدام cd واستكشافه، ولكن يرجى الأخذ في الاعتبار أنك تعمل من صدفة الجذر (root shell) وبالتالي يمكن أن تكون مدمرًا للغاية.

إذا كنت تفضل البقاء في حسابك المعتاد، فحاول استخدام sudo ls /lost+found لمعرفة محتويات هذا الدليل دون الحاجة إلى تشغيل أمر sudo -i. يمكنك استبدال /lost+found باسم أي دليل، بما في ذلك الدليل /root. تذكر أن وضع sudo قبل الأوامر لا يزال يسمح لك بتدمير أي شيء تقريبًا.

الطريقة 2: تغيير الأذونات الافتراضية على مجلد

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

قم بتشغيل sudo chmod -R 755 /path/to/folder، مع استبدال المسار بالمسار الفعلي للدليل الذي تريد جعله قابلاً للوصول. بمجرد الانتهاء، حاول الوصول إليه من حساب مستخدم عادي. هذه الطريقة أكثر تعقيدًا قليلاً من الطريقة المذكورة أعلاه، لكنها أكثر أمانًا وديمومة لأنها لن تتطلب استخدام حساب الجذر (root account) بعد المرة الأولى.

في معظم الحالات، يمكنك إنشاء الدلائل من البداية بهذه الأذونات. جرب استخدام `mkdir -m 755` لتعيين الأذونات للسماح بالقراءة والكتابة والتنفيذ للمستخدم، والقراءة والتنفيذ للآخرين. في كلتا الحالتين، يمكنك بدلاً من ذلك استخدام `777`، مما يمنح كل من قام بتسجيل الدخول إلى بنية الملفات صلاحية فعل ما يشاء بهذا الدليل. بينما توجد حالات قد ترغب فيها بفعل ذلك، مثل استخدام وسائط التخزين القابلة للإزالة لنقل الملفات يدويًا بين جهازين، فكر مليًا فيما إذا كان هذا ذكيًا إذا كنت تقوم بذلك على نظام ملفات محلي. استخدام العلامة `-p` بدلاً من ذلك يمنح الدليل الجديد أي أذونات تعتبر افتراضية، وهو عادةً ما يحدث عند تشغيله بدون أي علامات إضافية.

يمكنك التأكد من أن الملفات لديها الأذونات الصحيحة عند نسخها أيضًا. جرب استخدام `rsync –perms –chmod Fu+w` إذا كنت ترغب في منح إذن الكتابة للمالك للملفات. يمكنك تحديد مجموعات أخرى أيضًا. يمكنك استخدام `–chown=` مع `rsync`، متبوعًا باسم مستخدم، ونقطتين رأسيتين، ومجموعته بحيث تحصل الملفات المنسوخة على التعيينات الصحيحة أيضًا.

نظرًا لأن `rsync` مفيد جدًا لنسخ هياكل الملفات المتوافقة مع POSIX بين `Windows` و `Linux`، قد ترغب في تجربة بعض إعدادات `chmod` المختلفة أثناء استخدامه. أمر آخر قد تكون مهتمًا بتجربته هو `install`. قم بتشغيل `install -m 777` متبوعًا بالمصدر والوجهة لملف لمنحه وصول قراءة وكتابة فوري للجميع. يمكنك استخدام `755` أو أي مجموعة أخرى من أجل السلامة.

هذا بالتأكيد ليس بنفس سرعة `rsync`، ولكنه قد يعمل في الحالات التي ترغب فيها بتحديد الأذونات بدقة لإصلاح أخطاء مثل “ليس لديك إذن للوصول إلى هذا المجلد حاليًا”.

Comments are closed.