উত্তর:
পুনরাবৃত্তভাবে find
কার্যকর করতে কমান্ডটি ব্যবহার করুন shred
:
find <dir> -type f -exec shred {} \;
man shred
।
srm
@ কুকির উত্তর থেকে কমপক্ষে এই সমস্যাটিকে কমিয়ে আনার চেষ্টা করা হবে)।
-exec shred {} +
শ্রেড একাধিক যুক্তি গ্রহণ করার পরে এটিকে দ্রুত করার জন্য ব্যবহার করুন ।
টুকরাক থেকে সাবধান!
টুকরো টুকরো টুকরো থেকে:
সতর্কতা: নোট করুন যে শেড একটি খুব গুরুত্বপূর্ণ অনুমানের উপর নির্ভর করে: ফাইল সিস্টেমের জায়গায় ডেটা ওভাররাইট করে। এটি জিনিসগুলি করার theতিহ্যগত উপায়, তবে অনেকগুলি আধুনিক ফাইল সিস্টেম ডিজাইন এই অনুমানটি পূরণ করে না। নিম্নলিখিত ফাইল সিস্টেমগুলির উদাহরণ রয়েছে যাগুলির উপর শ্রেড কার্যকর নয়, বা সমস্ত ফাইল সিস্টেমের পদ্ধতিতে কার্যকর হওয়ার গ্যারান্টিযুক্ত নয়:
লগ-কাঠামোগত বা ভ্রমণ ফাইল ফাইলগুলি যেমন এআইএক্স এবং সোলারিস সরবরাহ করে (এবং জেএফএস, রিজারফারস, এক্সএফএস, এক্সট্রোল ইত্যাদি)
ফাইল সিস্টেম যা অপ্রয়োজনীয় ডেটা লিখে এবং চালিত করে এমনকি কিছু লেখার ব্যর্থতা যেমন RAID- ভিত্তিক ফাইল সিস্টেম
ফাইল সিস্টেম যা স্ন্যাপশট তৈরি করে, যেমন নেটওয়ার্ক অ্যাপ্লায়েন্সের এনএফএস সার্ভার
ফাইল সিস্টেমগুলি যা অস্থায়ী স্থানে ক্যাশে করে, যেমন এনএফএস সংস্করণ 3 ক্লায়েন্ট
সংকুচিত ফাইল সিস্টেম
Ext3 ফাইল সিস্টেমের ক্ষেত্রে, উপরোক্ত অস্বীকৃতি কেবলমাত্র ডেটা = জার্নাল মোডে প্রয়োগ হয় (এবং এইভাবে টুকরোটি সীমাবদ্ধ কার্যকরভাবে কার্যকর হয়) যা কেবল মেটাডেটা ছাড়াও ফাইলের ডেটা জার্নাল করে। উভয় ডেটা = অর্ডার করা (ডিফল্ট) এবং ডেটা = রাইবব্যাক মোডে ছেঁড়া স্বাভাবিক হিসাবে কাজ করে। মাউন্ট ম্যান পৃষ্ঠাতে (ম্যান মাউন্ট) নথিবদ্ধ হিসাবে / etc / fstab ফাইলের মধ্যে একটি নির্দিষ্ট ফাইল সিস্টেমের জন্য মাউন্ট অপশনগুলিতে ডেটা = কিছু বিকল্প যুক্ত করে Ext3 জার্নালিং মোডগুলি পরিবর্তন করা যেতে পারে।
এছাড়াও, ফাইল সিস্টেমের ব্যাকআপ এবং রিমোট মিররগুলিতে ফাইলের অনুলিপি থাকতে পারে যা অপসারণ করা যায় না এবং এটি একটি ছেঁকে যাওয়া ফাইলটি পরে পুনরুদ্ধার করার অনুমতি দেবে।
সমাধান: একটি এনক্রিপ্ট করা ফাইল সিস্টেম ব্যবহার করুন এবং কেবল আপনার ফাইলগুলি মুছুন।
shred
ডেটা এনক্রিপশন এবং অফলাইন স্টোরেজ ডিভাইস (চুরি বা পুলিশ ভাবেন) ডেটা এনক্রিপশন সহ সমস্ত ফাইলগুলি সুরক্ষিত করার অতিরিক্ত সুবিধা রয়েছে, কেবল ফাইলগুলি (সঠিকভাবে) মুছে ফেলা না করে পড়তে বাধা দেয়। একবার ফাইল সিস্টেম মাউন্ট হয়ে গেলে আমরা উভয় ক্ষেত্রেই ভাল অ্যাল 'ইউনিক্স অনুমতিগুলিতে ফিরে আসি এবং ডেটা সুরক্ষা আবার ওএস সুরক্ষা এবং সঠিক সিস্টেম প্রশাসনের কাজ হয়ে যায়। আপফ্রন্ট ফাইল সিস্টেম এনক্রিপশন কৌশলগত ব্যবহারের চেয়ে বিশ্রামে ডেটা সুরক্ষায় অবশ্যই খারাপ নয়shred
!
পরিবর্তে সুরক্ষিত মোছা ব্যবহার করুন।
sudo apt-get install secure-delete
srm -r pathname
সম্পন্ন. সুরক্ষিত মোছা 3 এর পরিবর্তে 38 টি পাস ব্যবহার করে ছেঁড়ার চেয়ে অনেক বেশি বিড়ম্বনাজনক a দ্রুত একক পাস করতে, ব্যবহার করুন
srm -rfll pathname
fll আপনাকে কম এলোমেলো ডেটা জেনারেটর এবং কেবল একটি একক পাস দেয়।
find
ভিত্তিক পদ্ধতিগুলির তুলনায় এই পদ্ধতির অতিরিক্ত সুবিধা রয়েছে যা সংরক্ষণ করা ফাইলের নামগুলি ফাইলের নাম কাটাতে এবং লিঙ্কমুক্ত করার আগে মুছে ফেলার চেষ্টা করবে।
এই স্ট্যাকের ওভারফ্লো লিঙ্ক ' ফাইলগুলি স্থায়ীভাবে এবং সুরক্ষার সাথে CentOS এ মুছে ফেলা হচ্ছে ' ব্যবহার করে শ্রের জন্য সর্বাধিক পরিচিত বিকল্পগুলির সাথে এই উত্তরটির সংমিশ্রণ :
find <directory> -depth -type f -exec shred -v -n 1 -z -u {} \;
সম্পাদনা: সচেতন থাকুন যে কোনও একক ফাইলকে ছোট করার জন্য সর্বোত্তম উত্তরটি একটি সিঙ্ককে বাধ্য করে যা ফাইলটি মোছার আগে মিডিয়াতে পরিবর্তনগুলি লিখে দেয় কারণ কিছু বা সমস্ত ভ্রমণযুক্ত ফাইল সিস্টেমের একটি বাফার রয়েছে।
যদি সম্ভব হয়, ফাইন্ড কমান্ডটি ফাইলটিতে একটি শেল স্ক্রিপ্ট কল করা উচিত যা চলমান:
shred -v -n 1 /path/to/your/file #overwriting with random data
sync #forcing a sync of the buffers to the disk
shred -v -n 0 -z -u /path/to/your/file #overwriting with zeroes and remove the file
প্রতিটি ফাইলের উপর।
rm -rvf $1
শেল স্ক্রিপ্টের সাথে সংযুক্ত ডিরেক্টরিগুলি সরিয়ে দেয় না (যেখানে the 1 হ'ল পথ / পথে / আপনার / ফাইলটি {}
প্রসারিত হতে প্রেরণ করা হয়েছে find... -exec
)
depth
এখানে কি করে ?
find /your/directory -exec shred {} \;
find [dirname] -depth -type f -exec shred -n1 {} \;
এটি ডিরেক্টরি [dirname] ফাইলগুলির জন্য একটি গভীরতার-প্রথম অনুসন্ধান সম্পাদন করে, তারপরে shred -n1
প্রতিটি ফাইলে কমান্ড চালায় । ফাইল এবং / অথবা ডিরেক্টরিগুলি সরানোর সময়, -depth
ডিফল্ট হিসাবে যুক্ত করা একটি ভাল অভ্যাস, যদিও এই ক্ষেত্রে এর কঠোর প্রয়োজন হয় না। যখন সঙ্গে কমান্ডের এই ধরনের চলমান rm -rf
পরিবর্তে shred
, -depth
তা নিশ্চিত করার জন্য ডিরেক্টরি ডিরেক্টরি বিষয়বস্তু (এইভাবে ত্রুটি করে) মুছে ফেলা হবে চেষ্টা করা হয়, আগে মুছে ফেলা হয় না প্রয়োজন হয়।
shred -N 1
, কারণ ডিফল্ট, 3 বার কাটা, হ'ল সাপ তেল। হয় এক সময় যথেষ্ট, অথবা 30 বার কাজ করবে না।
সর্বাধিক বিস্তৃত shred
পদ্ধতি আমি খুঁজে পেয়েছি, যার মধ্যে ডিরেক্টরি মুছে ফেলাও অন্তর্ভুক্ত রয়েছে, find
এটির জন্য একটি স্ক্রিপ্ট কল করা উচিত shred
:
এই পদ্ধতিটি ফাঁকা জায়গাগুলির সাথে ফাইলের নামগুলিও সঠিকভাবে পরিচালনা করে।
প্রথম - shred
স্ক্রিপ্ট (আমি আমার নাম রেখেছি dirShredder.sh
এবং এটি /root
ডিরেক্টরিতে সঞ্চয় করেছি :
shred -v -n 1 "$1" #overwriting with random data
sync #forcing a sync of the buffers to the disk
shred -v -n 0 -z -u "$1" #overwriting with zeroes and remove the file
rm -rvf "$1" # call rm to remove the directories
তারপরে, স্ক্রিপ্টটি এভাবে কল করুন:
find /volume1/pathToShred/ -mindepth 1 -depth -exec /root/dirShredder.sh "{}" \;
killit.sh
এক্সিকিউটেবল ( chmod +x
) ফাইলটি চিহ্নিত করার বিষয়টি নিশ্চিত করুন এবং অবশ্যই আপনি যে dir ছিঁড়ে ফেলতে চান তার জন্য এবং dirShredder.sh
যদি আপনি এটি অন্য কোথাও সঞ্চয় করেন তবে তার পথ আপডেট করুন ।
নোট বেন - shred
এর অনুলিপি-অন-লিখন ফাইল সিস্টেমগুলি (জেডএফএস, বিটিআরএফএস, এবং অন্যান্য) এমনকি জার্নালিং ফাইল সিস্টেমগুলিতেও সমস্যা রয়েছে। এটির সাথে মোকাবিলা করার জন্য সত্যিকারের কোন গ্রহণযোগ্য "সেরা" উপায় নেই যা আমি "এনক্রিপ্ট করা ফাইল সিস্টেম" ব্যতীত অন্য কাউকে খুঁজে পেয়েছি তবে বাস্তবে সত্য যে এটি কতটা কার্যকর তা আমি নিশ্চিত নই।
আপনি যে নিকটতম এটি পেতে পারেন তা হ'ল ড্রাইভের সমস্ত শূন্য স্থানটি আপনার শ্যাডিং অপ্সের পরে এলোমেলো ডেটা (জিরো নয়, মনে হয় এটি সর্বদা নির্ভরযোগ্য নয়)
আমি এখানে তাদের মধ্যে যাচ্ছি না, অন্যান্য স্ট্যাক উত্তর রয়েছে (উদাহরণস্বরূপ এই প্রশ্নে ব্যবহারকারী অজানা এর উত্তর) এবং 'নেটগুলি জুড়ে এই নেটকে জুড়ে প্রচুর আলোচনা তাই আপনার যদি সেই স্তরের সুরক্ষার প্রয়োজন হয় তবে সেগুলি সন্ধান করুন।