تحسينات Chmod و Chown WSL في Windows 10
من المؤكد أن مستخدمي Linux على دراية بأدوات وحدة التحكم chown و chmod. هذان التطبيقان ضروريان عندما يتعلق الأمر بإدارة الأذونات والملكية. في الآونة الأخيرة ، أجرت Microsoft عددًا من التحسينات على هذه الأدوات في نظام Linux الفرعي الخاص بها المجمّع مع Windows 10.
يمكنك الآن تعيين المالك ومجموعة الملفات باستخدام chmod / chown وتعديل أذونات القراءة / الكتابة / التنفيذ في WSL. يمكنك أيضًا إنشاء ملفات خاصة مثل fifos و unix sockets وملفات الجهاز. لقد كانت ميزة طال انتظارها للعديد من مستخدمي WSL.
تغيير آخر مثير للاهتمام هو خيارات التثبيت الجديدة مع نظام ملفات DrvFs لعرض الأذونات على الملفات جنبًا إلى جنب مع توفير بيانات تعريف Linux الجديدة على الملفات والمجلدات.
هناك خطوة واحدة يجب عليك اتخاذها قبل أن تتمكن من الاستمتاع بهذه الميزات الجديدة: يجب إلغاء تحميل ملفات drvf وإعادة تحميلها بعلامة "البيانات الوصفية". للقيام بذلك ، أدخل الأوامر التالية في Terminal:
sudo umount / mnt / c sudo mount -t drvfs C: / mnt / c -o metadata
يمكنك التحقق من أنه تم تركيبه بشكل صحيح عن طريق تشغيل "mount -l" لرؤية شيء مثل هذا:
DrvFs هو مكون إضافي لنظام ملفات لـ WSL والذي يضيف دعمًا للتداخل بين WSL ونظام ملفات Windows. تمكّن DrvFs WSL من تحميل محركات الأقراص باستخدام أنظمة الملفات المدعومة ضمن / mnt ، مثل / mnt / c ، / mnt / d ، إلخ.
يضيف DrvFs عددًا من خيارات التحميل الجديدة. وهم على النحو التالي:
تتضمن خيارات التثبيت الجديدة ما يلي:
- uid: معرف المستخدم المستخدم لمالك جميع الملفات
- gid: معرف المجموعة المستخدم لمالك جميع الملفات
- umask: قناع ثماني من الأذونات للاستثناء لجميع الملفات والأدلة.
- fmask: قناع ثماني من الأذونات للاستثناء لجميع الملفات العادية.
- dmask: قناع ثماني من الأذونات للاستثناء لجميع الدلائل.
انظر المثال التالي:
sudo mount -t drvfs C: / mnt / c -o metadata ، uid = 1000 ، gid = 1000 ، umask = 22 ، fmask = 111
بعد تنفيذ أمر التحميل ، سترى التثبيت (في هذه الحالة ، C :) مدرج مع جميع المعلمات التي مررتها عند الاستعلام عن قائمة بالأجهزة المثبتة.
سيسمح هذا التغيير بتركيب مجلدات وأقسام Windows ضمن حساب مستخدم آخر في WSL بدلاً من ملف الافتراضي واحد.
مع هذا التغيير ، يتم تخزين أذونات Linux مع بيانات وصفية إضافية لملف. سيسمح هذا بتخزين أذونات Linux و Windows لملف واحد. يمكنك الآن تغيير الأذونات في كل من WSL أو Windows بشكل منفصل دون كسر البيئة. كما قد تتذكر ، قد يؤدي تعديل ملفات Linux من Windows إلى تعطيل WSL سابقًا.
سيتم إنشاء الملفات التي تم إنشاؤها حديثًا في WSL باستخدام البيانات الوصفية افتراضيًا وستحترم خيارات التحميل التي قمت بتعيينها.
محاذير مهمة
هناك بعض الأشياء التي يجب التأكد من أنك على دراية بها عند العبث بالبيانات الوصفية الجديدة:
قد يؤدي تحرير ملف باستخدام محرر Windows إلى إزالة بيانات Linux الوصفية للملف. في هذه الحالة ، سيرجع الملف إلى أذوناته الافتراضية.
ستؤدي إزالة كافة بتات الكتابة الموجودة على ملف في WSL إلى جعل Windows يضع علامة على الملف كملف للقراءة فقط.
إذا كان لديك العديد من توزيعات WSL المثبتة أو العديد من مستخدمي Windows المثبت عليهم WSL ، فسيستخدمون جميعًا نفس البيانات الوصفية في نفس الملفات. قد يختلف معرف المستخدم الخاص بكل حساب مستخدم WSL. هذا شيء يجب مراعاته عند تعيين الأذونات.
على سبيل المثال ، يمكنك تعطيل أذونات الكتابة على ملف في Windows و chmod لإظهار تمكين أذونات الكتابة في WSL. أو يمكنك تمكين أذونات القراءة ضمن Windows وإزالة أذونات القراءة في WSL. يمكنك رؤية هذا المفهوم موضح أدناه.
مصدر: مايكروسوفت.