№8 dars — Linux operatsion tizimida fayllarga beriladigan ruhsatlar(read, write, execute), chmod buyrug’i
Linux operatsion tizimi, ko’p foydalanuvchili tizim hisoblanadi. Har bir foydalanuvchining o’ziga tegishli bo’lgan fayl va papkalari bo’ladi. Bu fayl va papkalarni, boshqa foydalanuvchilar o’qimasligi yoki o’zgartirmasligi katta ahamiyatga egadir. Shuning uchun linux operatsion tizimida fayl va papkalarga alohida ruhsatlar ishlab chiqilgan. Bu maqolam aynan shu ruhsatlarni o’rganishga bag’ishlanadi.
Linux operatsion tizimida, faylga nisbatan, foydalanuvchilar 3 guruhga bo’linadi.
- Owner
- Group
- Public
Har bir fayl ma’lum bir foydalanuvchi tomonidan yaratiladi va u foydalanuvchi shu faylning haqiqiy egasi hisoblanadi, ya’ni «owner«. Foydalanuvchilar albatta ma’lum bir guruh a’zosi hisoblanishadi(group). Qolgan barcha foydalanuvchilar «public» hisoblanadi.
Misol uchun, «user» nomli foydalanuvchi, «PC» nomli guruh a’zosi. Bu degani, linux operatsion tizimida har bir foydalanuvchi hosil qilinayotganda, biror bir guruhga birlashtirib qo’yiladi. Agar, guruhga birlashtirilmasa, avtomat foydalanuvchi nomiga mos holda guruh ochilib, shunga birlashtiriladi.
Yana bir misol, «user» nomli foydalanuvchi ochildi, lekin hech qaysi guruhga birlashtirilmadi, bu holatda «user» nomli guruh avtomat ochilib, «user» nomli foydalanuvchi «user»nomli guruh a’zosi bo’ladi.
Bitta guruhga, bir necha foydalanuvchi a’zo bo’lishi mumkin. Qaysi foydalanuvchi nomi bilan tizimga kirganini va bu foydalanuvchi qaysi guruhga tegishli ekanligini quyidagi buyruq orqali bilish mumkin.
[root@test user]# id;
Linux operatsion tizimidagi har bir faylga nisbatan, 3 hil amal bajarish mumkin. Bu amallar ma’lum bir sonlar bilan belgilangan.
4 = Read = r
2 = Write = w
1 = Execute = x
ya’ni, 4 soni faqat faylni o’qish mumkinligini bildiradi, 2 soni faylga yozish mumkinligini bildiradi, 1 soni esa faylni ishga tushirishga ruhsat borligini anglatadi(fayl ichidagi skriptlarni).
Misol ko’ramiz, linux operatsion tizimida, terminal ochamiz va u yerga quyidagi buyruqni yozamiz. Bu buyruq, asosiy katalogdagi barcha fayl va kataloglar ro’yxatini, ularga berilgan ruhsatlarini chiqarib beradi.
[root@test user]# ls -al /;
misol uchun natija quyidagicha bo’lishi mumkin:
Chap tomonda drwxr-…kabi yozuvlar mavjud, mana shu yozuvlar aynan fayl ustida qanday amallarni bajarish kerakligini ko’rsatib beradi. O’rta qatordagi 2 ta ustundan birinchisi, fayl egasining nomi, ikkinchi ustun esa, fayl egasining guruhi nomidir. Bizning holda bular «root» va «root«. Ustunning oxirida esa fayl nomi keltirilgan.
Demak, bu maqola ruhsatlarga atalgani uchun, bizga birinchi ustun muhimroq. Birinchi ustun 10 ta simvoldan iborat bo’lib, birinchi simvol fayl tipini bildiradi, ya’ni «d«. Birinchi simvol quyidagi ko’rinishlarda bo’lishi mumkin.
— = -oddiy fayl;
d = — katalog(papka);
b = — qurilmaga oid fayl;
c = — character device;
s = — socket;
p = — kanal(pipe);
l = — ssыlka (link).
Bu simvollardan fayl qanaqa ko’rinishga ega ekanligini bilib olishimiz mumkin.
Fayl ro’yxatidagi keyingi 9 ta simvol, ruhsatlarni bildiradi. Har bir foydalanuvchi turiga 3 tadan simvol, ya’ni fayl egasiga 3 ta simvol, fayl egasi guruhiga oid foydalanuvchilarga 3 ta simvol va umuman boshqa turdagi foydalanuvchilarga 3 ta simvol.
rwx — fayl egasi faylni o’qishi, bu faylga yozishi va faylni ishga tushirish huquqlariga egadir.
r-x — fayl egasi guruhidagi foydalanuvchilar bu faylni o’qishi va ishga tushirishi mumkin, lekin yozishga ruhsati yo’q.
r-x — qolgan barcha foydalanuvchilar bu faylni o’qishi va ishga tushirishi mumkin, lekin yozishi mumkin emas.
Ruhsatlar bilan tanishib chiqdik. Endi bu ruhsatlarni qanday qilib berilishini ko’ramiz. Yuqorida aytib o’tilganidek, har bir ruhsatlar ma’lum bir sonlar bilan belgilangan.
4 — read(o’qish), 2 — write(yozish) va 1 — execute(ishga tushirish). Ruhsatlarni berishda aynan shu va boshqa sonlardan foydalaniladi. Bu sonlarning eng kichigi 1, eng kattasi 7 hisoblanadi. 1, 2, 4 sonlaridan boshqa sonlarni, shu sonlarning yig’indisi orqali chiqarish mumkin bo’ladi. Shunda, to’liq 7 ta sonni ko’rishimiz mumkin bo’ladi.
1 = execute;
2 = write;
3 = write & execute;
4 = read;
5 = read & execute;
6 = read & write;
7 = read, write & execute.
demak, bu sonlardan foydalanib biror bir faylga «dostup» beramiz. Linux operatsion tizimida bu buyruq «chmod» deyiladi. Misol, text.txt fayliga biror ruhsat beramiz va natijani ko’ramiz.
[root@test user]# chmod 755 text.txt;
[root@test user]# ls -al;
Natija:
755 soni 3 ta tipdagi foydalanuvchilar uchun berilgan ruhsatdir. Natijani ko’rsangiz, sonlar harflarga o’zgartirib, so’ng chiqarilganini ko’rishingiz mumkin bo’ladi, ya’ni
7 — rwx(read, write, execute), bu fayl egasi uchun
5 — r-x(read, execute), bu guruh foydalanuvchilari uchun
5 — r-x(read, execute), bu qolgan barcha foydalanuvchilari uchun
bu misoldan yana shuni ko’rish mumkinki, bu fayl «oracle» foydalanuvchisiga tegishli va bu foydalanuvchi «oinstall» guruhi vakilidir.
Sonlarning kelib chiqishi quyidagicha bo’ldi:
7=1(execute)+2(write)+4(read)
5 = 1(execute)+4(read)
5 = 1(execute)+4(read)
bundan ko’rinib turibdiki, to’liq ruhsat 777 soni bo’lar ekan.
Manba:
Operatsion Tizim
chmod buyrug’i, execute), №8 dars — Linux operatsion tizimida fayllarga beriladigan ruhsatlar(read, write