Kirishni boshqarish - U. R. Xamdamov, dj. B. Sultanov, S. S. Parsiyev, U. M. Abdullayev

199
Turli foydalanuvchilarga fayl yoki katalogga kirishning har xil turlari
kerak bo‘lishi mumkin. Shaxsga asoslangan kirishni amalga
oshirishning eng keng tarqalgan sxemasi bu - har bir foydalanuvchi
uchun ruxsat berilgan foydalanuvchi nomlari va kirish turlarini
belgilaydigan kirishni boshqarish ro‘yxatini (ACL
- access-control
list) har bir fayl va katalog bilan bog‘lashdan iboratdir. Foydalanuvchi
ma’lum bir faylga kirishni talab qilganda, operatsion tizim ushbu fayl
bilan bog‘liq kirishlar ro‘yxatini tekshiradi. Agar ushbu foydalanuvchi
so‘raladigan kirish uchun ro‘yhatda ko‘rsatilgan bo‘lsa, kirish
huquqiga ega bo‘ladi. Ushbu yondashuv murakkab kirish
metodologiyalaridan foydalanishning afzalliklariga ega. Kirish
ro‘yxatlaridagi asosiy muammo bu ularning uzunligidir.
Agar biz
hammaga faylni o‘qishga ruxsat berishni istasak, unda biz o‘qish
huquqiga ega bo‘lgan barcha foydalanuvchilarni ro‘yxatga olishimiz
kerak. Ushbu usul ikkita nomaqbul oqibatlarga ega:
Bunday ro‘yxatni yaratish juda zerikarli va foydasiz vazifa
bo‘lishi mumkin (ayniqsa tizimdagi foydalanuvchilar ro‘yxatini
oldindan bilmasak).
Ilgari belgilangan o‘lchamdagi
katalog yozuvi endi
o‘zgaruvchan o‘lchamga ega bo‘lishi kerak, bu bo‘sh maydonni
boshqarish yanada murakkablashishiga olib keladi.
Ushbu
muammolarni
kirish
ro‘yxatining
qisqartirilgan
versiyasidan foydalangan holda hal qilish mumkin. Kirishni
boshqarish ro‘yxatining uzunligini qisqartirish uchun, ko‘pgina
tizimlar har bir fayl bilan bog‘liq ravishda foydalanuvchilarning uchta
sinfini tan oladi:
Egasi (Owner). Faylni yaratgan foydalanuvchi uning egasidir;
Guruh (Group). Fayldan birgalikda foydalanadigan va shunga
o‘hshash kirishni talab qiladigan foydalanuvchilar guruhi – bu guruh
yoki ishchi guruh.
Boshqalar (Others). Tizimdan foydalanishi mumkin bo‘lgan
barcha boshqa foydalanuvchilar.
So‘nggi paytlarda eng keng tarqalgan
yondashuv bu - kirishni
boshqarish ro‘yxatlarini yuqorida tavsiflangan umumiy egasi, guruhi
va boshqa foydalanuvchilari uchun kirishni boshqarish sxemasini
birlashtirishdir (va amalga oshirish osonroq). Masalan,
Solaris uchta
standart kirish huquqi toifalarini ishlatadi, ammo batafsil kirishni
boshqarish kerak bo‘lganda, kirishni boshqarish ro‘yxatlarini
200
muayyan fayllar va kataloglarga qo‘shishga imkon beradi. Tasavvur
qilish uchun, yangi kitob yozayotgan Sora ismli odamni olaylik. U
loyihaga yordam berish uchun uchta aspirantni (Jim, Don va Jill)
yollagan. Kitob matni book.tex deb nomlangan faylda saqlanadi.
Ushbu fayl bilan bog‘liq himoya quyidagicha:
Sara (ism) fayllar bilan barcha
operatsiyalarni bajarish
imkoniyatiga ega bo‘lishi kerak;
Jim, Don va Jill faqat faylni o‘qish va yozish imkoniyatiga
ega bo‘lishi kerak; ularga faylni o‘chirishga ruxsat bermaslik kerak.
Boshqa barcha foydalanuvchilar faylni o‘qiy oladilar, lekin
yoza olmaydilar. (Sara ushbu matnni iloji boricha ko‘proq
odamlar
o‘qishlarini va ularni fikrlarini olishga qiziqadi).
Ushbu himoyaga erishish uchun biz Jim, Dawn va Jill a’zolari
bilan yangi guruh tuzishimiz kerak, aytaylik, matnli.
Keyin guruh
matni nomini book.tex fayli bilan bog‘lash kerak va kirish huquqlari
yuqorida keltirilgan qoidalarga muvofiq o‘rnatilishi kerak. Endi Sara
1-bobga vaqtinchalik kirishni xohlagan mehmonni ko‘rib chiqimiz.
Matn guruhiga tashrif buyuruvchini qo‘shish mumkin emas, chunki bu
unga barcha boblarga kirish huquqini beradi. Fayl faqat bitta guruhda
bo‘lishi mumkinligi sababli, Sara 1-bobga boshqa guruhni qo‘sha
olmaydi.
Shu bilan birga, kirishni boshqarish ro‘yxatining funksional
imkoniyatlari qo‘shilishi bilan tashrif buyuruvchi 1-bobning kirish
huquqlarini boshqarish ro‘yxatiga qo‘shilishi mumkin.