في هذا الدرس التعليمي سوف نتعلم احدى اكثر الأدوات شيوعاً لإزالة الملفات بشكل آمن الأقراص على اجهزة اللينكس و اليونكس. الا وهو الــ shred. لمنع او لتقليل احتمال استعادتها.
المصدر: ويكيبيديا.
shred
هو امر من اليونكس ومهمته ان يحذف الملفات بأمان ليجعلها من الصعب جداً استعادتها، حتى مع الأجهزة والتكنولوجيا المتخصصة؛ مع افتراض بأنه من المستحيل استراد الملف. انه جزء من أدوات جنو الأساسية.
كالعادة ، أصبح الجذر (root) أو استخدم sudo
كلما لزم الأمر ذلك مع الأوامر التالية.
التثبيت:
shred
عادةً مايكن متوفر على أغلب أنظمة توزيعات لينكس. ونظراً لأنه جزء من حزمة coreutils، علينا أولاً التأكد من أنها مثبته على النظام. يرجى مراجعة: كيفية التحقق عما إن كانت الحزمة مثبته من عدمه.
إن لم تكن مثبته، قم بتنصيبها كالآتي:
مثل: ديبيان – Debian / ابونتو – Ubuntu / لينكس مينت – Linux Mint / ديفان – Devuan / ايليمنتيري او اس – elementary OS / ام اكس لينكس – MX Linux / انتاي اكس – antiX / ديبن – deepin / لينكس لايت – Linux Lite / زورن او اس – Zorin OS / LXLE / بيبرمنت او اس – Peppermint OS / سباركي لينكس – SparkyLinux:
$ apt install coreutils
إذا لم يكن الـ apt
مثبت افتراضيًا، اذاً استعمل apt-get
او aptitude
فحسب
على فيدورا – Fedora:
$ dnf install coreutils
على ريد هات -RedHat 7 / سينت أو أس -CentOS 7 / ساينتيفك لينكس – Scientific Linux 7:
$ yum install coreutils
على ريد هات – RedHat 8+ / سينت أو أس – CentOS 8+ / ساينتيفك لينكس – Scientific Linux 8+:
$ dnf install coreutils
على سوزي – SUSE / أوبن سوزي – openSUSE:
$ zypper in coreutils
على ماجيا – Mageia:
$ urpmi coreutils
على آرتش لينكس – ArchLinux و على مشتقاتها: (like: مانجارو لينكس – Manjaro / كا أو أس – KaOS / آرتش بانچ لينكس – ArchBang Linux / بلاك آرتش لينكس – BlackArch Linux / بارابولا چنو/لينكس-ليبر – Parabola GNU/Linux-libre / تشاكرا چنو/لينكس – Chakra GNU/Linux):
$ pacman -S coreutils
على جنتو – Gentoo:
$ emerge sys-apps/coreutils
$ xbps-install -S coreutils
على الباين – Alpine:
$ apk add coreutils
ًلتثبيت الحزمة التنفيذيه
$ pkg install coreutils
اذا تريد عمل كومبايل لها بنفسك:
استعمال portmaster
:
$ portmaster -v sysutils/coreutils
او الطريقة التقليدية:
$ cd /usr/ports/sysutils/coreutils $ make install clean $ rehash
اذا تستعمل 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)