منو سایت

  • خانه
  • وبلاگ
  • چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

 تاریخ انتشار :
/
  وبلاگ
چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

گاهی اوقات اتفاق می افتد که شما به طور تصادفی فایل ها یا پوشه های سیستم عامل لینوکس را حذف می کنید. اما در این آموزش قصد داریم به شما بگوییم چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟ اگر از کاربران سیستم عامل محبوب لینوکس هستید، این مقاله برای شما مفید خواهد بود. پس در این مطلب با تهران سرور همراه باشید. این آموزش را مرحله به مرحله ادامه خواهیم داد.

1. نرم افزار را دانلود کنید

برای دانلود این اپلیکیشن دستور زیر را تایپ کنید:

wget https://launchpad.net/safe-rm/trunk/1.1.0/+download/safe-rm-1.1.0.tar.gz

سپس با استفاده از دستور زیر فایل دانلود شده را استخراج کنید:

tar -zxvf safe-rm-1.1.0.tar.gz

2. بسته نرم افزاری را نصب کنید

سپس با استفاده از دستور زیر بسته های مورد نیاز را نصب کنید:

مبتنی بر Redhat (CentOS، AlmaLinux، RockyLinux)

yum install cargo

اوبونتو/دبیان

apt update
apt-get install cargo

openSUSE

zypper install cargo

3. مسیر عملکرد

سپس دستور زیر را تایپ کنید تا ببینید دستور rm در کجا قرار دارد و مسیر سیستم لینوکس شما:

whereis rm
echo $PATH

چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

4. یک فایل پیکربندی ایجاد کنید

در مرحله بعد، یک فایل پیکربندی برای برنامه Safe-RM ایجاد کنید که در آن مشخص کنید کدام پوشه ها را نمی توان حذف کرد و فایل ها و پوشه هایی که در این پوشه ها هستند. دستور زیر را تایپ کنید:

vi /etc/safe-rm.conf

سپس، پوشه‌هایی را که کاربر نمی‌تواند فایل‌ها یا پوشه‌هایی را حذف کند، تایپ کنید:

/etc/*
/var/*
/usr/*
/usr/lib/*

شما باید بین پوشه ها و زیر پوشه ها تفاوت قائل شوید. بنابراین اگر می‌خواهید کسی نتواند فایل‌ها یا پوشه‌های موجود در پوشه /var/lib/mysql را حذف کند، پوشه‌های زیر را با تایپ دستور زیر به فایل بالا اضافه کنید:

/var/lib/mysql/*

زیرا اگر فقط /var/* را در این فایل قرار دهید، فایل های زیر پوشه /var همچنان حذف خواهند شد.

5. فایل main.rs را پیکربندی کنید

به پوشه safe-rm رفته و فایل main.rs را با تایپ دستور زیر باز کنید:

cd safe-rm-1.1.0
vi src/main.rs

در آن فایل، مسیر rm را برای مطابقت با مسیر rm در سیستم لینوکس خود تغییر دهید:

const REAL_RM: &str = '/usr/bin/rm';

6. safe-rm را نصب کنید

پس از آن با تایپ دستور زیر برنامه را نصب کنید:

cargo build --release

هنگامی که فرآیند کامپایل کامل شد، یک فایل safe-rm در پوشه target/release ایجاد می شود.

چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

7. فایل را کپی کنید

سپس فایل safe-rm را در پوشه ای که فایل rm در آن قرار دارد کپی می کنیم. از آنجایی که در سیستم لینوکس من، فایل rm در پوشه /usr/bin است، من فایل را در آن پوشه کپی می کنم:

cp /root/safe-rm-1.1.0/target/release/safe-rm /usr/bin

8. فایل bashrc. تغییر به

سپس با تایپ دستور زیر فایل .bashrc را باز کنید:

vi ~/.bashrc

سپس اسکریپت زیر را تغییر دهید یا به فایل اضافه کنید:

alias rm='safe-rm -f'

فایل را ذخیره کنید و دستور زیر را تایپ کنید:

source ~/.bashrc

9. برنامه را تست کنید

سپس اپلیکیشن Safe-RM را تست کنید. سعی کنید یکی از فایل‌ها یا پوشه‌های موجود در پوشه /etc را حذف کنید و کاربر نباید بتواند فایل‌ها یا پوشه‌های موجود در پوشه فایل /etc/safe-rm.conf را حذف کند.

چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

بنابراین برنامه safe-rm به درستی روی سرور نصب می شود.

نکته مهم

1. اگر می خواهید سایر کاربران نیز بتوانند از این برنامه استفاده کنند، در فایل bashrc. اسکریپت زیر را برای آن کاربر وارد کنید:

alias rm='safe-rm -f'

و دستور زیر را اجرا کنید:

source ~/. bashrc

2. در نسخه های قبلی (نسخه 0.13 یا پایین تر) فقط فایل safe-rm را کپی می کنید و نیازی به کامپایل نیست. اما قبل از اجرای این اپلیکیشن ابتدا باید پرل را روی سرور خود نصب کنید.

3. در واقع سیستم لینوکس دستوری دارد که عملکرد آن مشابه برنامه safe-rm است، یعنی دستور chat مطابق شکل زیر:

چگونه از حذف فایل ها یا پوشه ها در لینوکس جلوگیری کنیم؟

اما فکر می‌کنم این دستور می‌تواند برای sysadmin یا سایر کاربران دردسرساز باشد، زیرا من نمی‌توانم محتوای فایل را تغییر دهم، مگر اینکه از دستور چت دیگری برای تغییر محتوای فایل استفاده کنم. در همین حال، برنامه safe-rm فقط برای جلوگیری از حذف فایل کار می کند، اما این فایل را می توان در هر زمان بدون تایپ مجدد دستور تغییر داد.