معرفی سیستم عامل لینوکس
یک سیستم عامل متنباز، با قابلیت ایجاد تغییرات مورد نظر در آن است که انجام این تغییرات از طریق اجرای دستورات لینوکس در محیط خط فرمان ممکن است.
دستورات خطرناک لینوکس
اگر با کدنویسی آشنایی کامل نداشته باشید باید نهایت احتیاط را در اجرای کدها به خرج دهید، در ادامه 8 دستور خطرناک دراین سیستم عامل و کاربرد هر کدام را بررسی خواهیم کرد، پیشنهاد میکنیم در صورت عدم آشنایی کامل با این دستورات از آنها دوری کنید
از این دستورات برای پاک کردن فایلهای مختلف در سیستمعامل لینوکس استفاده میشود.
نمونه:
rm -rf /
cd /; rm -rf .
rm -rf *
کاربرد هر دستور:
• rm-rf/: همه محتویات فایل root را پاک میکند.
• rm-rf*: تمام محتویات پوشه در حال استفاده را پاک میکند.
• rm-rf.: محتویات فولدر در حال استفاده و تمامی زیرفولدرهای آن را پاک میکند.
?نکته
✅ اگر یک نام مستعار از دستور rm با عنوان rm-i در فایل bashrc. درست کنید، از اشتباهات احتمالی که منجر به پاک شدن اطلاعاتتان میشود جلوگیری خواهد شد، به این ترتیب که برای پاک کردن همه چیز از شما تاییدیه دریافت میشود.
✅ دستور rm را با پارامتر r استفاده نکنید، مگر اینکه بخواهید یک فولدر را با زیرفولدرها پاک کنید. این دستور فولدر را بهصورت بازگشتی پاک میکند؛ یعنی این کار را بهصورت مداوم (تا همیشه) انجام میدهد، حتی اگر فولدر گفته شده خالی باشد.
chmod 000 -Rf /
cd /; chmod 000 -Rf
کاربرد:
مجوز همه فایلها و دایرکتوریهای / را به صفر تغییر میدهد.
در نتیجه بعد از اجرای این دستور، هیچ دستوری قابل اجرا نخواهد بود حتی همین دستور! در واقع با این کار امکان اجرای هر دستور دیگر را ناممکن خواهید کرد.
: () { :|: & };:
این اسکریپت یک دستور بازگشتی است که بعد از اجرا RAM و CPU سیستم شما را درگیر میکند.
این دستور مدام خودش را در بکگراند و فورگراند تکرار میکند. انجام مداوم این عملیات باعث هنگ سیستم شده و تنها راه نجات سیستم از این دستور ریبوت سختافزاری است.
در این اسکریپت ابتدا یک تابع با نام : تعریف میکنیم
: () {
سپس درون آن خودش را فراخوانی میکنیم و خروجی را به تابع ارسال میکنیم.
: | :
در انتها بعد از تعریف تابع آن را اجرا میکنیم.
: ;
ارسال نتیجه خروجی هر دستور به هارد دیسک یا پارتیشن باعث پاک شدن اطلاعات روی هارد خواهد شد!
چند دستور از این دسته:
cat file.txt > /dev/sda
wget http://iranserver.com > /dev/sda
ls -la / > /dev/sda
عموماً آدرسدهی اشتباه فایل log یا استفاده از space در نام فایل log، باعث بروز خطا میشود.
مثال:
find / -iname "*.php" > /dev/sda1/ log.txt
در مثال بالا دستور find پس از اجرا، خروجی خود را به جای فایل /dev/sda1/log.txt در /dev/sda1 ذخیره میکند.
این اشتباه به خاطر وجود Space اضافه بین / آخر و log.txt رخ میدهد در نتیجه این اشتباه، محتویات درایو sda1 حذف خواهند شد.
بستهها ممکن است به یکدیگر وابسته باشند.
از این رو برای اجرای دستورات لینوکس که مربوط به پاک کردن این بستهها هستند باید نهایت دقت را داشت.
با توجه به این وابستگی، پاک کردن یک بسته میتواند منجر به پاک شدن دیگر بستههای حیاتی شود و عملکرد کل سیستمعامل را مختل کند.
yum remove linux*
apt-get purge selinux
apt-get remove linux-header
برای انتقال فایلهای مختلف در سطح پایین استفاده میشود، و از دستورات قوی و خطرناک لینوکس به حساب می آید.
اگر بهدرستی مورد استفاده قرار نگیرد، محتویات هارد را از بین میبرد.
دستور زیر اطلاعات درایو /dev/sda2 را به صورت کامل حذف میکند.
dd if=/dev/zero of=/dev/sda2
dd if=/dev/sda1 of=/dev/sda2
dd if=/dev/urandom of=/dev/sdb
در این مثال عبارات مقابل if ورودی دستور هستند و عبارات مقابل of محلی است که میخواهید خروجی دستور به آن منتقل شود.
همانطور که میبینید مقصد هارد دستگاه (sda2) است. به این ترتیب تمام محتویات هارد پاک میشوند و خروجی دستور جایگزین آنها میشود.
این دستور محتویات یک فایل یا دایرکتوری را به محلی مشخص منتقل میکند. دستور فوق زمانی خطرناک است که یک دایرکتوری را به /dev/null منتقل کنیم. در این صورت فایل یا دایرکتوری حذف خواهد شد درست مثل دستور ممنوعه اول یعنی rm.
mv /home /dev/null
هر دستوری که به base64 جهت اجرا ارسال شود خطرناک خواهد بود.
دستور زیر معادل rm -rf / است.
echo cm0gLXJmIH4vKg== | base64 -d
امیدواریم این مطلب مورد توجه شما قرار گرفته باشد.
تلاش نت
02154109000