Faylni yaratish (create). Fayl sarlavhasi yaratiladi;
Faylga yozish (write). Qoida tariqasida, bu yozuvlar yoki bloklar orqali amalga oshiriladi - ma’lumotlarning katta mantiqiy birliklari, kiritish/chiqarish operatsiyalarini optimallashtirish uchun bir nechta yozuvlarni birlashtiradi;
Fayldan o‘qish (read). Odatda yozuvlar yoki bloklar tomonidan ham amalga oshiriladi;
Fayl ichidagi manzilni (joylashgan joyini) qidirish (seek); Joylashuv yozuv yoki blok raqami bilan yoki faylning boshlanishini (birinchi yozuvdan oldingi holat) yoki faylning oxirini ko‘rsatuvchi maxsus nomlar bilan belgilanadi (oxirgi yozuvdan keyingi holat);
Faylni o‘chirish (delete). Fayl tizimining bajarilishiga qarab, xatolarni o‘chirib tashlash halokatli (UNIX) yoki tuzatilishi mumkin (MS DOS);
Faylni qisqartirish (Truncate);
Faylni ochish (open) – katalog tuzilmasidan faylni belgili nomi (yo‘li) bo‘yicha qidirish va uni o‘qish;
Faylni yopish (close) – bufer tarkibini fayl bloklariga yozish, tashqi xotiradagi faylni hozirgi holatiga muvofiq yangilash, fayl bilan bog‘liq bo‘lgan asosiy xotiradagi barcha tuzilmalarni bo‘shatish.
Faylni nusxalash (copy) – fayldan nusxa olish;
Faylni ko‘chirish (move) – faylni boshqa joyga ko‘chirib o‘tkazish.
Fayllarni almashish operatsiyalarini bajarish uchun (o‘qish, yozish), qoida tariqasida, fayl ochilishi kerak. Faylni yopish foydalanuvchi jarayonlari majburiyati hisoblanadi.
Fayllarni himoyalash va ularga murojaatlarni boshqarish
Axborot kompyuter tizimida saqlanganda, biz uni fizik shikastlanishdan (ishonchlilik muammosi) va noto‘g‘ri kirishdan (himoya muammosi) himoya qilishimiz kerak. Ishonchlilik odatda fayllar nusxalari tomonidan ta’minlanadi. Ko‘pgina kompyuterlarda fayl tizimi ishdan chiqqan yoki buzilgan taqdirda ularni qayta tiklash uchun, disk fayllarini ma’lum bir vaqtda (kuniga bir marta, haftada yoki oyda bir marta) avtomatik ravishda (yoki kompyuter operatorining aralashuvi bilan) ularni nusxalarini lentalarga saqlash uchun ko‘chiradigan tizim dasturlari mavjud. Qurilma bilan bog‘liq muammolar tufayli (o‘qish yoki yozish xatoliklari kabi) fayl tizimlari shikastlanishi mumkin, yuklanishni ortishi yoki uzilishlar, o‘qish/yozish boshining ishdan chiqishi, haroratning haddan tashqari o‘zgarishi orqali bo‘lishi mumkin. Fayllar tasodifan o‘chirilishi mumkin. Fayl tizimi dasturidagi xatolar, shuningdek, fayl tarkibining yo‘qolishiga olib kelishi mumkin. Himoya turli xil usullar bilan ta’minlanishi mumkin. Bir foydalanuvchilik tizimda noutbuk yoki ish stoli kompyuterlari xavfsizligini xonani qulflash yoki boshqa usullar orqali himoya qila olamiz. Biroq, ko‘p foydalanuvchilik tizimlarda boshqa xavfsizlikni ta’minlash mexanizmlariga ehtiyoj seziladi.
Birinchi operatsion tizimlar foydalanuvchilar o‘rtasida fayl almashishni qo‘llab-quvvatlay olmadi. Masalan, oldingi tizimlarda 10 ta foydalanuvchiga xizmat ko‘rsatish uchun kompilyatorning 10 ta nusxasi talab qilingan. Bugungi tizimlar tizimdagi faol dasturlarning sonidan qat’iy nazar barchaga xizmat qilish uchun bitta nusxani talab qiladi. Aslida, har qanday faylni almashish mumkin - ma’lumotlar fayllari va foydalanuvchi dasturlari fayllaridan tortib tizim fayllarigacha. Fayllarni almashishning foydalari juda ko‘p.
Kirish usullari
Fayllarni himoya qilish zarurati fayllarga kirish imkoniyatining bevosita natijasidir. Boshqa foydalanuvchilarning fayllariga kirishga ruxsat bermaydigan tizimlar himoyaga muhtoj emas. Shunday qilib, kirishni taqiqlash orqali biz to‘liq himoyani ta’minlashimiz mumkin. Shu bilan birga, siz hech qanday himoyasiz erkin kirishni ta’minlashingiz mumkin. Umumiy foydalanish uchun ikkala yondashuv ham juda ekstremaldir. Nima kerak - bu boshqariladigan kirish. Xavfsizlik mexanizmlari amalga oshirilishi mumkin bo‘lgan fayllarga kirish turlarini cheklash orqali kirishni boshqarishni ta’minlaydi. Bir nechta omillarga bog‘liq holda kirishga ruxsat beriladi yoki rad etiladi. Bir necha xil operatsiyalar turlarini boshqarish mumkin:
Read. Fayldan o‘qish.
Write. Faylni yozish yoki qayta yozish.
Execute. Faylni xotiraga yuklash va uni bajarish.
Append. Fayl ohiriga yangi ma’lumot qo‘shish.
Delete. Faylni o‘chirish va qayta foydalanish uchun joyni bo‘shatish.
List. Fayl nomi va atributlarining ro‘yhati.
Fayl nomini o‘zgartirish, nusxalash va tahrirlash kabi boshqa operatsiyalarni ham boshqarish mumkin. Biroq, ko‘plab tizimlar uchun ushbu yuqori darajadagi funksiyalar pastki darajadagi tizim chaqiriqlarini amalga oshiradigan tizim dasturi tomonidan amalga oshirilishi mumkin. Himoya faqat pastki darajada ta’minlanadi. Masalan, faylni nusxalash oddiygina o‘qish talablari ketma-ketligi bilan amalga oshirilishi mumkin. Bunday holda, o‘qish huquqiga ega foydalanuvchi, shuningdek faylni nusxalash, chop etish va boshqalarga olib kelishi mumkin. Ko‘plab himoya mexanizmlari taklif qilingan. Ularning har biri o‘zining afzalliklari va kamchiliklariga ega va mo‘ljallangan maqsadga mos bo‘lishi kerak. Tadqiqot guruhining faqat bir nechta a’zolari foydalanadigan kichik kompyuter tizimi, masalan, tadqiqot, moliya va kadrlar operatsiyalari uchun foydalaniladigan yirik korporativ kompyuter kabi himoya turlariga muhtoj bo‘lmasligi mumkin.
Kirishni boshqarish
Himoyalash muammosiga eng keng tarqalgan yondashuv - foydalanuvchining identifikatoriga bog‘liq holda kirishni ta’minlash.
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
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.
Unix tizimida ruhsatlar
UNIX tizimlarida katalog va fayllarni himoya qilish shunga o‘xshash tarzda amalga oshiriladi. Har bir pastki katalog bilan bog‘liq uchta maydon mavjud - egasi, guruhi va boshqalar - ularning har biri uchta rwx bitidan iborat. Shunday qilib, agar foydalanuvchi tegishli maydonchada r bit o‘rnatilgan bo‘lsa, foydalanuvchi pastki katalog tarkibini ro‘yxatlashi mumkin. Huddi shu tarzda, foydalanuvchi o‘z katalogini boshqa joriy katalogga o‘zgartirishi mumkin (aytaylik, foo), agar tegishli maydonda foo pastki katalogi bilan bog‘liq x bit o‘rnatilgan bo‘lsa.
UNIX muhitidan kataloglar namunalari ro‘yxatiga misol quyida keltirilgan:
-rw-rw-r--
|
1 pbg
|
staff
|
31200
|
Sep 3 08:30
|
intro.ps
|
drwx------
|
5 pbg
|
staff
|
512
|
Jul 8 09:33
|
private/
|
drwxrwxr-x
|
2 pbg
|
staff
|
512
|
Jul 8 09:35
|
doc/
|
drwxrwx---
|
2 jwg
|
student
|
512
|
Aug 3 14:13
|
Student-proj/
|
-rw-r--r--
|
1 pbg
|
staff
|
9423
|
Feb 24 2012
|
program.c
|
-rwxr-xr-x
|
1 pbg
|
staff
|
20471
|
Feb 24 2012
|
program
|
drwx--x--x
|
4 tag
|
faculty
|
512
|
Jul 31 06:52
|
lib/
|
drwx------
|
3 pbg
|
staff
|
1024
|
Aug 29
06:52
|
mail/
|
drwxrwxrwx
|
3 pbg
|
staff
|
512
|
Jul 8 09:35
|
test/
|
Birinchi maydon fayl yoki katalogning himoyasini tavsiflaydi. d birinchi belgi sifatida pastki katalogni bildiradi. Shuningdek, faylga havolalar soni, egasining nomi, guruh nomi, baytdagi fayl hajmi, oxirgi o‘zgartirilgan sanasi va nihoyat fayl nomi (ixtiyoriy kengaytma bilan) ko‘rsatilgan.
Ushbu sxema to‘g‘ri ishlashi uchun siz ruxsatlarni va kirish ro‘yxatlarini diqqat bilan nazorat qilishingiz kerak. Ushbu nazorat bir necha usul bilan amalga oshirilishi mumkin. Masalan, UNIX tizimida guruhlarni faqat obyekt boshqaruvchisi (yoki har qanday superuser) yaratishi va o‘zgartirishi mumkin. Cheklangan himoya tasnifi bilan himoyani aniqlash uchun faqat uchta maydon kerak. Ko‘pincha har bir maydon bitlarning to‘plamini tashkil qiladi va har bir bit u bilan bog‘liq kirishga ruxsat beradi yoki rad etadi. Masalan, UNIX tizimi har birida 3 bitdan iborat uchta maydonni aniqlaydi, rwx, bu erda r o‘qishni boshqarish, w yozishni boshqarish va x bajarishni boshqarish. Fayl egasi, fayllar guruhi va boshqa barcha foydalanuvchilar uchun alohida maydon saqlanadi. Ushbu sxemada xavfsizlik ma’lumotlarini yozish uchun har bir fayl uchun 9 bit talab qilinadi. Shunday qilib, bizning misolimiz uchun Book.tex fayli uchun xavfsizlik maydonchalari quyidagicha: Sara egasi uchun barcha bitlar o‘rnatildi; guruhli matn uchun r va w bitlari o‘rnatiladi; va boshqa foydalanuvchilar uchun faqat r bit o‘rnatiladi. Yondashuvlarni birlashtirishda qiyinchiliklardan biri bu foydalanuvchi interfeysi. Foydalanuvchilar fayl uchun qo‘shimcha ACL ruxsatlari qachon o‘rnatilishini aniqlashlari kerak. Solaris misolida standart ruxsatlarga "+" qo‘shiladi, chunki:
5.7- rasm. Windowsda fayllarga ruhsat berish oynasi 19 -rw-r--r--+ 1 jim staff 130 May 25 22:13 file1
ACL-ni boshqarish uchun alohida buyruqlar to‘plami, setfacl va getfacl ishlatiladi. Windows foydalanuvchilari odatda kirishni boshqarish ro‘yxatlarini grafik interfeys orqali boshqaradilar.
5.7- rasmda Windows da NTFS fayl tizimidagi fayllarga ruxsat oynasi ko‘rsatilgan. Bu orqali foydalanuvchilarga fayllardan foydalanish huquqlarini belgilash mumkin. Unix, Linux operatsion tizimlarida bo‘lgani kabi o‘qish, yozish, bajarish, o‘zgartirish kabi huquqlarni belgilash mumkin.
Boshqa himoya usullari
Xavfsizlik muammosiga yana bir yondashuv - parolni har bir fayl bilan bog‘lash. Ko‘pincha kompyuter tizimiga kirish parol bilan boshqariladi, har bir faylga kirishni ham shu tarzda boshqarish mumkin. Agar parollar tasodifiy tanlansa va tez-tez o‘zgartirilsa, ushbu sxema faylga kirishni cheklashda samarali bo‘lishi mumkin. Biroq, parollardan foydalanish bir nechta kamchiliklarga ega. Birinchidan, foydalanuvchi eslab qolishi kerak bo‘lgan parollar soni ko‘payib ketishi mumkin. Ikkinchidan, agar barcha fayllar uchun bitta
parol ishlatilsa, u topilgandan so‘ng barcha fayllar mavjud bo‘ladi; hech narsa yoki hech narsa himoyasi. Ikkinchidan, agar barcha fayllar uchun bitta parol ishlatilsa, u topib olingandan so‘ng barcha fayllarga kirish mumkin bo‘ladi; Ba’zi tizimlar foydalanuvchiga ushbu muammoni hal qilish uchun parolni alohida fayl bilan emas, balki qo‘shimcha katalog bilan bog‘lash imkonini beradi.
Ko‘p darajali katalog tuzilishida nafaqat alohida fayllarni, balki pastki kataloglarda fayllar to‘plamlarini ham himoya qilishimiz kerak; ya’ni katalogni himoya qilish mexanizmini taqdim etishimiz kerak. Himoyalanishi kerak bo‘lgan katalog operatsiyalari fayl operatsiyalaridan biroz farq qiladi. Katalogdagi fayllarni yaratish va o‘chirishni nazorat qilishni xohlaymiz. Bunga qo‘shimcha ravishda, biz foydalanuvchi katalogda fayl mavjudligini aniqlay oladimi yoki yo‘qligini nazorat qilishni xohlaymiz. Ba’zan, faylning mavjudligi va nomini bilishni o‘zi muhimdir. Shuning uchun katalog tarkibini ro‘yxatga olish himoyalangan operatsiya bo‘lishi kerak. Shunga o‘xshab, agar yo‘l nomi katalogdagi faylga tegishli bo‘lsa, foydalanuvchi katalogga ham, faylga ham kirish huquqiga ega bo‘lishi kerak. Fayllar bir nechta yo‘l nomlariga ega bo‘lishi mumkin bo‘lgan tizimlarda (masalan, siklik va umumiy grafikalar), foydalanuvchining ishlatiladigan yo‘l nomiga qarab ma’lum bir faylga kirish huquqiga ega bo‘lamiz.
|