كيفية استخدام أعلام الملف لتعديل سلوكه على نظام MacOS

يتم استخدام الأعلام بواسطة نظام MacOS للحد من كيفية تغيير الملفات. تم تعيينها بشكل مختلف عن الأذونات وتشغيلها في بنية موازية جنبًا إلى جنب مع أوامر مثل chown و chmod. ستستخدم chflags لتغيير الأعلام، وكذلك ls لعرض الإشارات. يدير Unix نظامًا مشابهًا ، ولكن مع عدد أكبر من الخيارات تسمى “attributes” بدلاً من الأعلام

كيفية استخدام أعلام الملف لتعديل سلوكه على نظام MacOS - Mac

عرض مجموعة الأعلام على نظام macOS

في Terminal ، يمكنك استخدام علامة ls لعرض أية أعلام موجودة.

ls -lO 

~/Librarydrwx------@ 88  alexander staff hidden 2992 Jan 25 14:01 Library

إذا لم تكن هناك أي أعلام لملف أو مجلد ، فسيتم عرض dash بدلاً من ذلك.

ls -lO ~/Library/Caches

drwx------+ 234 alexander staff   -    7956 Jan 25 13:03 Caches

يمكن إزالة الأعلام باستخدام معكوسها ، كما هو موضح أدناه.

إعداد وحذف الأعلام على نظام macOS

كيفية استخدام أعلام الملف لتعديل سلوكه على نظام MacOS - Mac

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

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

إعداد الأعلام على macOS

عند إعداد الأعلام على macOS ، استخدم الأمر أدناه. العلامة recursive -R متوفرة للعمليات على مستوى الدليل:

sudo chflags -R [flag] /usr/bin/local

sudo chflags [flag] /usr/bin/local/mnt.sh

chflags -R hidden ~/Desktop

سوف تحدد العلم المناسب. على سبيل المثال ، يعين التالي علم nodump:

sudo chflags nodump /usr/bin/local/tty.sh

يمكن تعيين علم واحد فقط أو إزالته لكل أمر chflags.

التعتيم يحدد المجلد ليظهر مبهما عند عرضه من خلال union mount ، وهي طريقة قديمة لعرض الدلائل المتعددة في وقت واحد.

  • nodump يمنع الملف أو المجلد من أن يتم تفريغه أثناء استخدام الأمر التفريغ لعمل نسخة احتياطية من النظام الخاص بك.
  • sappnd ، يقوم sappend بتعيين علم إلحاق النظام فقط ، والتي تسمح بإضافة الملف إلى دليل ولكن لن يتم تعديله أو حذفه. تتطلب إزالة هذه علم إدخال وضع المستخدم المفرد.
  • schg، schange، simmutable يحدد إشارة النظام الثابتة ، والتي تقوم بإغلاق جميع تغييرات الملفات من قبل جميع المستخدمين على أي مستوى امتياز. تتطلب إزالة هذا العلم إدخال وضع مستخدم واحد.
  • uappnd ، uappend يحدد علم إلحاق المستخدم فقط. يمكن تعيين ذلك بواسطة مالك الملف ويمكن إلغاء تعيينه بواسطة المالك دون امتيازات متصاعدة. نظرًا لأنه يتم قفل الملف ، باستخدام sappnd أو schg في حالة أمان أقل ، يتم استخدامه كثيرًا.
  • uchg، uchange، uimmutable يضع علم المستخدم الثابت ، الذي له نفس العلاقة مع علم النظام الثابت حيث أن علم uappnd يجب أن يكون مبين.
  • hidden يحدد العلم الخفي. هذا يخفي العنصر داخل الأوامر Finder GUI و ls.

إزالة الأعلام على macOS

لمسح علم معين ، ضع معكوسه. في معظم الحالات ، هذا يعني الإيفاء المسبق “لا” لأمرك. في حالة nodump ، استخدم علم dump لمسحه ، مثل:

sudo chflags dump /usr/bin/local/oty.sh

يمكن عكس المزيد من المصطلحات القياسية باستخدام البادئة “no” ، مثل:

sudo chflags nosappnd /usr/bin/local/oty.sh

كما هو الحال مع chmod ، تتوفر علامة تكرارية:

chflags  -R nohidden ~/Desktop

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

استخدام Attributes على نظام Unix

كيفية استخدام أعلام الملف لتعديل سلوكه على نظام MacOS - Mac

يدير Unix نظامًا مشابهًا على الواجهة الخلفية ، ولكن يتم التعامل معه بأوامر مختلفة. على أنظمة Linux الأساسية الأكثر شعبية ، ستتمكن بدلاً من ذلك من الوصول إلى chattr و lsattr. وتستخدم هذه الأعلام لتغيير وعرض “السمات” ، وهو ما تقوم به الأعلام على معظم عمليات التثبيت الأخرى لنظام يونكس.

يمكن الاطلاع على السمات مع lsattr:

lsattr /path/to/file.txt

يعتمد تغيير Attributes على رمز التهيئة الأولية ويتم سردها في الصفحة الرئيسية chattr:

“الحروف” acdeijstuADST ” تحدد السمات الجديدة للملفات: إلحاق فقط (a) ، مضغوط (c) ، لا تفريغ (d) ، تنسيق الامتداد (e) ، غير قابل للتغيير (i) ، journalling (j) ، حذف آمن (s) ، عدم دمج الذيل (t) ، undeletable (u) ، لا تحديثات onime (A) ، تحديثات الدليل المتزامن (D) ، التحديثات المتزامنة (S) ، وأعلى التسلسل الهرمي للدليل (T). “

يبدو الأمر كما يلي:

chattr +s /file/name.txt

يقوم بتعيين سمة الحذف الآمن للمسار المحدد.

تغليف

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

المصدر
زر الذهاب إلى الأعلى