shred

في هذا الدرس التعليمي سوف نتعلم احدى اكثر الأدوات شيوعاً لإزالة الملفات بشكل آمن الأقراص على اجهزة اللينكس و اليونكس. الا وهو الــ shred. لمنع او لتقليل احتمال استعادتها.

shred هو امر من اليونكس ومهمته ان يحذف الملفات بأمان ليجعلها من الصعب جداً استعادتها، حتى مع الأجهزة والتكنولوجيا المتخصصة؛ مع افتراض بأنه من المستحيل استراد الملف. انه جزء من أدوات جنو الأساسية.

المصدر: ويكيبيديا.

كالعادة ، أصبح الجذر (root) أو استخدم sudo كلما لزم الأمر ذلك مع الأوامر التالية.


التثبيت:

shred عادةً مايكن متوفر على أغلب أنظمة توزيعات لينكس. ونظراً لأنه جزء من حزمة coreutils، علينا أولاً التأكد من أنها مثبته على النظام. يرجى مراجعة: كيفية التحقق عما إن كانت الحزمة مثبته من عدمه.

إن لم تكن مثبته، قم بتنصيبها كالآتي:

Debian and its based distrosFedoraredhat / CentOS / Scientific LinuxSUSE / openSUSEMageiaArchLinux and its based distrosGentooVoid LinuxAlpine LinuxFreeBSDMacOS X

على فيدورا – Fedora:

$ dnf install coreutils

على سوزي – SUSE / أوبن سوزي – openSUSE:

$ zypper in coreutils

على ماجيا – Mageia:

$ urpmi coreutils

على جنتو – Gentoo:

$ emerge sys-apps/coreutils

على فويد لينكس – Void Linux:

$ xbps-install -S coreutils

على الباين – Alpine:

$ apk add coreutils

على فري بي أس دي – FreeBSD:

ًلتثبيت الحزمة التنفيذيه

$ pkg install coreutils

اذا تريد عمل كومبايل لها بنفسك:

استعمال portmaster:

$ portmaster -v sysutils/coreutils

او الطريقة التقليدية:

$ cd /usr/ports/sysutils/coreutils
$ make install clean
$ rehash

على ماك أو أس أكس – MacOS X:

اذا تستعمل MacPorts:

$ port install coreutils

اذا تستعمل Brew:

$ brew install coreutils

الإستعمال:

ومن ثم، استخدم الأمر shred لحذف الملفات بشكلٍ آمن:

على لينكس:

$ shred -v -z -u -n 10 FILE-NAME

على FreeBSD و MacOSX:

$ gshred -v -z -u -n 10 FILE-NAME

معنى الخيارات المستخدمه:

  • -v : للافصاح عن كل ما يفعله البرنامج.
  • -z : إضافة آخر إعادة كتابه بالأصفار لإخفاء عملية الحذف الآمن.
  • -u : لحذف الملف بعد عمليه إعادة الكتابه عليه.
  • -n : إعادة الكتابه س من المرات عوضاً عن العدد الافتراضي وهو (٣). وفي مثالنا السابق، طلبنا منه إعادة الكتابه ١٠ مرات.
  • FILE-NAME : اسم ومسار الملف الذي نود حذفه بشكلٍ آمن.

لسوء الحظ، shred لا يملك خاصية الـ recursive التي بدورها تمكنك من تحديد المجلد المراد حذف جميع ملفاته أينما وجدت داخل ذلك المجلد وإن كانت في مجلدات فرعيه أخرى مهما نزلت طالما أنها منبثقه من ذلك المجلد السابق تحديده، ولكن لحسن الحظ أنه مازال بإمكاننا تحقيق ذلك إذا ما دمجنا الأمر shred مع الأمر find كالتالي: فمثلاً إن أردت حذف جميع الملفات الموجوده في مسار المجلد الحالي أينما وجدوا ودون الاعتداد بعمق المجلدات الفرعيه وإن نزلت.

$ find . -type f -exec shred -v -z -u -n 10 {} +

للمزيد من المعلومات, راجع الدليل:

على لينكس

$ man shred

على FreeBSD و MacOSX:

$ man gshred

او اقراءها عبر الانترنت shred(1)

اترك تعليقاً

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

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.