Linux World (part II)

30.06.2024

cover

O'tgan postda Linux haqida ba'zi ajoyib ishlarni o'rgangandik. Ushbu postda system controlling, va xujumlarga qarshi ajoyib strategiyalarni amalda qo'llab ko'ramiz.

Meme

System control

Tasavvur qiling tizimda ba'zi o'zgarishlar qildingiz, tizim bu o'zgarishlarni qabul qilishi uchun uni qayta ishga tushirish kerak. Xo'sh buni qanday amalga oshirasiz? (Virtual machinada o'chirish tugmasi yo'q aylanay 🙃)

Tom looking for

Sizga systemctl ya'ni system control buyrug'i kerak. Linux operatsion tizimida ishlab turgan dasturlarni servicelar deb atashadi. Servicelarni restart, stop, start, disable yoki enable qilish uchun systemctl buyrug'i kerak bo'ladi.

# SSH service ni restart qilish
systemctl restart sshd

# dasutrni statusini tekshirish uchun
systemctl status sshd

# dasturni disable (avtomatik ishga tushishini o'chirish ) qilish uchun
systemctl disable sshd

Agar dasturingizni to'laqonli background (orqa fonda) ishlab turishini ta'minlamoqchi bo'lsangiz systemd haqida o'rganishni maslahat bermana. Juda oddiy strukturaga ega, va dasturingizni doimo ishlab turishini aynan shu systemd (system daemon) fayli ta'minlab beradi.

Fork bombing

Fork bomb cat

2020-yil, Shanghai JiaoTong Universityda birinchi kursni endi boshlagan yilim edi. Dunyoni turli xil mamlakatlaridan kelgan juda bilimli va kuchli kursdoshlar bilan tanishdim. Biroz vaqt o'tib bir do'stimga yuqoridagi rasmni boshqacha yozuv bilan yubordim. Yozuv quyidagicha edi:

Bu buyruqni tersang mushukni rasmi chiqadi: :(){ :|:& };:

Sodda va hali OS darslarini endi tushunishni boshlagan murg'ak qalbli bola, ushbu buyruqni o'z kompyuteriga kiritgan, va 5 daqiqadan so'ng kompyuteri o'zidan-o'zi o'chib qolgani haqida menga xabar yozdi 🥲 (bola sodda bo'lsa menda nima ayb).

Ushbu buyruq Fork bomb deyiladi va u rekursiv tarzda tizimda processlar yaratishni boshlaydi (Linux operatsion tizimida processlar main processdan fork qilinadi shuning uchun ham uni fork bomb deb atashadi). Buyruqning asosiy maqsadi tizimda processlarni ko'paytirish xisoblanadi. Ko'p process, ko'p resurs uvol qilish va kompyuterni sekinlashishi, ba'zan o'chib qolishiga ham olib keladi. Xo'sh buni qanday oldini olish mumkin?

Limits

Albatta siz tizimga limit qo'yishingiz mumkin. Processlar sonini cheklash uchun ulimit buyrug'idan foydalanish orqali siz fork bombingga qarshi turib bera olasiz. Qiziq shundaymasmi?

# nechta process ocha olishimizni tekshirish uchun
ulimit -u

# Ko'proq ma'lumot olish uchun
ulimit -a

# prcoesslar soni 20 taga cheklaymiz.
ulimit -S -u 20

Disk Space Filler

cloud.42.uz da ko'plab optimization ishlarini olib boramiz. Ammo qaysidir jprq qandaydir ajoyib yo'llar bilan serverni crash qilishga uringanu-urungan. Menimcha unga ko'p rahmat aytishim kerak, ko'p o'rgatayabdi (ya'ni ko'p imkoniyatlarni qo'shishga majbur qilayabdi). Uning so'ngi xujumi aynan Disk space filler bo'ldi.

Ushbu xujum oldini olish uchun quota tool dasturini o'rnatishimiz kerak va unga file descriptorlar sonini cheklash va diskdagi joyni keraksiz fayllardan tozalashga sozlab qo'yishimiz kifoya qiladi. Buni o'zingiz o'rganib ko'rishingizni maslahat beraman.

Conclusion

Xullas kim nima desa ishonib ketavermang. Kompyuteringizga begona buyruqlarni kiritib ko'rmang. Ogoh bo'ling. Postdan o'rganganlaringizni boshqalar bilan ham bo'lishing!