آموزشاوبونتوخانواده لینوکسسیستم عامل ها

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

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

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

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

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-Based (CentOS, AlmaLinux, RockyLinux)

yum install cargo

Ubuntu/Debian

apt update
apt-get install cargo

OpenSUSE

zypper install cargo

3. نمایش مسیرها

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

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 را کپی می کنید و نیازی به کامپایل نیست. اما قبل از اجرای این اپلیکیشن باید ابتدا Perl را روی سرور خود نصب کنید.

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

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

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا