Bugun siz bilan Linux olamini kashf qilamiz. Nima uchun Linux xavfsizligi, boshqaruv, fayllar, buyruqlarni va umuman Linux olami haqida o'rganib chiqamiz.
Ushbu postdagi amaliy ishlarni qo'llash uchun Linux o'rnatishingiz shart emas, docker playground dan foydalaning.
Intro
Linux olamidagi 2 tushunchani yaxshi bilishingiz shart, SHELL va KERNEL (post oxirida bu haqda chuqur gaplashamiz). KERNEL kompyuteringizni to'liq boshqaruvchi tizim. SHELL esa sizni KERNEL bilan gaplasha olishingizni ta'minlovchi til. Siz uni ba'zan bash, zsh xattoki fish deb ham eshitgansiz. Demak biz SHELLga buyruq yozamiz, u bizni buyruqlarimizni KERNELga tushuntiradi va kompyuterimiz biz aytgan ishni bajaradi, oddiy logika.
Bizda yangi tandirdan uzilgan Linux kompyuteri bor, ammo unda bizga kerakli dasturlar yo'q. Keling ularni o'rnatamiz. Bunda bizga package installer tool, apt / apt-get / apk / yum
buyruqlaridan biri kerak bo'ladi. Keling ipython dasturini o'rnatib ko'ramiz.
Biz ishlatayotgan Linux Alpine bo'lgani uchun apk dan foydalandik, Ubuntuda apt yoki apt-get ishlatiladi.
Ubuntuda apt install qilishdan oldin bir marotaba apt dasturini apt update qilib yuborishingiz kerak, chunki installer odatda eski URL versiyalari bilan keladi. Ularni yangilab olmaguningizcha sizga to'g'ri versiyadagi dasturlarni olib kela olmaydi.
File System
Filelarni turlari ko'p, txt, mp3, jpeg, png, va h.k.z. Directoryni esa siz rus tilida папка deysiz. Pastda Linux operatsion tizimidagi directorylarning vazifalari keltirilgan (Ingliz tilida tushunishga harkat qiling, tarjima ma'nosini buzib qo'yishi mumkin).
| Directory | Description |
| --------- | ---------------------------------------------------- |
| /bin | binary or executable programs. |
| /etc | system configuration files. |
| /home | home directory. It is the default current directory. |
| /opt | optional or third-party software. |
| /tmp | temporary space, typically cleared on reboot. |
| /usr | User related programs. |
| /var | log files. |
Fayllar bilan ishlashni o'rganish uchun eng yaxshi manba bu 42.uz Express Backend kursidagi Linux bo'limi:
Access Control
Adashib Cloud Administrator lavozimiga ishga qabul qilindingiz (xazillashib ishga topshirmang deymanda shunga) endi bo'yningizda katta ma'suliyat bor, ya'ni tizimni xavfsiz holatda boshqarib turish. Ishxonangizdagi dasturchilar sizdan dostup so'rashdi, xo'sh nima qilasiz? Siz: root ga dostup beraman. Men:
Yo'o'o'o'o'q, unday qilmang. Undan ko'r o'sha foydalanuvchi uchun alohida user ochib bering va undan ba'zi imkoniyatlarni checklang. User ochish uchun oddiy adduser buyrug'i kifoya:
adduser <username>
Yangi foydalanuvchi yaratganingizda u o'ziga tegishli bo'lgan fayllarni o'qiy oladi, yoza oladi va execute qila oladi. Ammo boshqa fayllarga kirib ularni o'zgartira olmaydi. Agar siz ushbu foydalanuvchiga ishonsangiz unga super user hquqini berishingiz mumkin ya'ni qisqa qilib aytganda sudo (super user do). Linux operatsion tizimida guruhlar tushunchasi mavjud. Aynan foydalanuvchi o'zi azo bo'lgan guruhga berilgan imkoniyatlarni qila oladi. Biz sudo imkoniyatini berish uchun uni sudoers guruhiga qo'shishimiz kerak.
# user mode (-a append degani, -G esa group, ya'ni sudo guruhiga <username> nomli userni qo'sh degani)
usermod -a -G sudo <username>
Endi o'sha user sudo buyrug'ini ishlatib ko'plab ishlar qila oladi. Guruhlar mavzusi haqida ko'proq o'rganing, yaxshi boshqaruvni o'rganasiz. Aytgancha sudo qila olaman ekan deb tag'in-a....
Process Control
Linux operatsion tizimida har bir dasturni ishlab turishi uchun yangi process yaratiladi va u processni boshqalaridan ajratib turuvchi IDsi bo'ladi. Biz uni PID (process ID) deb ataymiz.
Siz qaysidir jprqga dostup berdingiz, u dasturini ishga tushirib yokida biror g'alati ishlarni qilib resurslar(RAM, CPU yoki Storage)ni uvol qilayabdi. Ammo aynan nimani ko'p ishlatayotganini bilmayabsiz. Buning uchun sizga yordamga top
yoki htop
buyruqlar keladi. Ular yordamida qaysi dastur nimani qancha ishlatayotganini kuzatishingiz mumkin.
Hop u dasturni ham topdingiz va PIDsini ham aniqladingiz endi qanday qilib uni o'chirsiz? Albatta kill yordamida. kill buyrug'i orqali processlarga turli xil signallar jo'natishingiz mumkin. Eng qiziq tomoni esa kill dasturingizni boshqara olmaydi, shunchaki unga sizni signalingizni yetkazadi dastur esa signal turiga qarab unga amal qiladi.
kill <signal> <PID>
Misol uchun -9 signali dasturga o'chirishni buyuradi. -20 esa processni suspend (to'xtatishni) aytadi. To'xtagan dasturni klegan joyidan davom etishi uchun fg <PID>
buyrug'i kifoya qiladi. Qolgan buyruqlarni o'zingiz albatta o'rganib ko'ring.
Conclusion
Keyingi sonlarda sizlar bilan yosh Hackerlarni nayranglari va Linuxning eng qorong'u qismlari haqida batafsil amaliyotlar bilan o'rganamiz. Sharing is caring, postni tanishlarga share qilib qo'ying!