chattr: أقصى حماية للملفات / المجلدات في Linux من خلال السمات أو العلامات

حسنًا ... لا يمكن أن يكون كل شيء ألعابًا ، فليس في نيتي نشر منشورات تتحدث عن الألعاب فقط 😉 ... أنا لست مستخدمًا يلعب كثيرًا ، في المنزل أترك ذلك لصديقتي (الذي أصبح الآن مدمن مخدرات سيمز شنومكس) ، وهذا هو السبب في أنه يحفزني أكثر لنشر المزيد من المقالات الفنية ، حول الأوامر أو النصائح في المحطة.

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

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

chattr + ط

لنفترض أننا نريد حماية ملف بحيث لا يمكن حذفه ، فهو: كلمات السر. txt ، موقعك (على سبيل المثال) $ HOME / passwords.txt

لتعيين سمة للقراءة فقط (أي ، لا تعديل ولا حذف) سيكون:

sudo chattr +i $HOME/passwords.txt

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

بعد ذلك ، يمكنك محاولة حذف الملف ، حتى باستخدام sudo ... سترى أنك لن تكون قادرًا على ذلك ، ها هي لقطة شاشة:

chattr_1

لسرد أو رؤية سمات الملف ، يمكننا استخدام الأمر lsattrعلى سبيل المثال:

lsattr passwords.txt

ثم قم بإزالة الحماية بدلاً من استخدامها +i نحن نستخدم -i وفويلا 😉

chattr + أ

كما رأينا للتو ، تتيح لنا المعلمة + i حمايتها تمامًا ، ولكن كانت هناك أوقات أحتاج فيها إلى تعديل ملف معين ، ولكن دون تغيير محتواه الأصلي. على سبيل المثال ، لدي قائمة وأريد إضافة سطور ومعلومات جديدة باستخدام echo ، ولكن دون تغيير السطور السابقة ، لهذا:

sudo chattr +a $HOME/passwords.txt

بعد ذلك ، لنحاول كتابة شيء جديد في الملف:

echo "Prueba" > $HOME/passwords.txt

ستلاحظ ظهور خطأ ... ومع ذلك ، إذا أضفنا محتوى بدلاً من استبداله (باستخدام >> وليس>):

echo "Prueba" >> $HOME/passwords.txt

هنا نستطيع.

النهاية!

أعلم أن شخصًا على دراية عندما يرى أنه حتى مع الجذر يمكنه حذف / تعديل ملف يمكنه التحقق من سماته ... ولكن ، مهلا! ... كم مرة لاحظت فيها شيئًا كهذا توقفت عن التفكير في السمات؟ ... أقول هذا لأننا عمومًا نعتقد ببساطة أن محرك الأقراص الثابتة أو قطاعه فاسد ، أو أن النظام ببساطة أصبح مجنونًا 😀

حسنًا ، ليس هناك الكثير لإضافته ... أعتقد أنني سأستخدم هذا من +i لإيقاف تنزيل شيء ما تقوم صديقتي بتنزيله ... ¬_¬ ... إهم ... لا تريد تحميل سيمز 4 مجانا؟ ... أعتقد أنني سأعلمك شيئًا أو شيئين عن التراخيص وأنه لا ينبغي انتهاكها 😀

تحيات!


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   انقطع قال

    من المثير للاهتمام معرفة هذه الأداة ، ماذا لو تسبب لي بعض الفضول ، بطريقة لا تشبه أذونات البت؟ أي setuid ، setgid وبت لزجة؟ إذا لم يكن كذلك ، فلماذا؟ أوو

    ملاحظة: لقد فقدت عدد المرات التي تقول فيها صديقتي في هذه المقالة هاهاها

    1.    هوغو قال

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

      من خلال دمج هذا الأمر مع chown و chmod و setfacl ، يمكن تحقيق أشياء مثيرة للاهتمام.

      يحتوي FreeBSD على شيء مشابه ، والذي أستخدمه أيضًا في pfSense الخاص بي.

    2.    جون قال

      هاهاها إنها مرحلة معروفة.
      http://www.xkcd.
      كوم / 684 /

  2.   نيانديكويرا قال

    [دكتور. Bolivar Trask] $ sudo chattr + i * .human

  3.   تسلا قال

    ترتيب جيد جدا. لم أكن أعرفها.

    يمكن أن يكون مفيدًا جدًا إذا شاركنا جهاز كمبيوتر أو إذا كان لدينا مستند معين نعمل عليه ولا نريد حذفه للعالم.

    شكرا مع اطيب التحيات!

  4.   لويس قال

    مثيرة جدا للاهتمام.

    هل يمكن القيام بشيء مماثل حتى لا يتمكن ROOT من الوصول إلى مجلد معين على صفحتنا الرئيسية؟

    1.    تسلا قال

      وفقًا للمقال ، مع هذا الأمر ، لا يمكن حتى لـ root الوصول إلى الملف. أعتقد أن الأمر نفسه ينطبق على المجلدات ، لأن مجلدات Linux هي أيضًا ملفات ، أليس كذلك؟

  5.   خواكين قال

    يالها من صدفة. حاولت في نهاية هذا الأسبوع حذف قسم جذر ولم أتمكن من حذف ملف من دليل / boot. بالنظر ، وجدت السمات ، بصراحة لم أكن أعرفها والآن أفهم أن مسألة الأذونات والسمات في ملف كبيرة جدًا. هذا هو أحد تلك الأوامر الأساسية التي يجب أن نعرفها ، إلى جانب "chmod" و "chown".

  6.   أغواتيمالا قال

    يعد هذا مفيدًا للغاية ، خاصة إذا أردنا ، على سبيل المثال ، تغيير DNS الافتراضي الخاص بمزود خدمة الإنترنت الخاص بنا ، وذلك عندما يتعين علينا تعديل الملف /etc/resolv.conf ولكي نفعل ذلك ، يجب علينا إجراء chattr -i / etc / resolv.conf ، قم بتعديل عناوين IP التي تظهر لتلك الخاصة بـ DNS المجاني و / أو المجاني (مثل تلك الخاصة بـ OpenDNS 208.67.222.222 و 208.67.220.220 أو تلك الخاصة بـ Google 8.8.8.8 و 8.8.4.4) وبعد تعديل إعادة الملف chattr + i /etc/resolv.conf بحيث لا يتم تعديل الملف عند بدء تشغيل الجهاز.
    مقال رائع ... وبالمناسبة صديقتك مثل زوجتي ، تمامًا مثل مدمنة على الألعاب ، هاهاهاهاها

  7.   خام قال

    من الواضح أن "السيد اللعين" هي صديقتك في هذه الحالة. وجه ضاحك