Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компютерні мережі лекції.doc
Скачиваний:
30
Добавлен:
28.08.2019
Размер:
2.15 Mб
Скачать

Файлова система

Поняття файлу є одним з найбільш важливих для ОС UNIX. Всі файли, з якими можуть маніпулювати користувачі, розташовуються у файловій системі, що є деревом, проміжні вершини якого відповідають каталогам, а листя – файлам і порожнім каталогам. Реально на кожному логічному диску (розділі фізичного дискового пакету) розташовується окрема ієрархія каталогів і файлів.

Кожен каталог і файл файлової системи має унікальне повне ім'я (у ОС UNIX це ім'я прийнято називати full pathname – ім'я, задаюче повний шлях, оскільки воно дійсно задає повний шлях від кореня файлової системи через ланцюжок каталогів до відповідного каталога або файлу; ми використовуватимемо термін "повне ім'я", оскільки для pathname відсутній благозвучний російський аналог). Каталог, що є коренем файлової системи (кореневий каталог), в будь-якій файловій системі має зумовлене ім'я "/" (слеш).

Принципи захисту

Оскільки ОС UNIX з самого свого зародження замислювалася як багатокористувацька операційна система, в ній завжди була актуальна проблема авторизації доступу різних користувачів до файлів файлової системи. Під авторизацією доступу ми розуміємо дії системи, які допускають або не допускають доступ даного користувача до даного файлу залежно від прав доступу користувача і обмежень доступу, встановлених для файлу. Схема авторизації доступу, застосована в ОС UNIX, настільки проста і зручна і одночасно настільки могутня, що стала фактичним стандартом сучасних операційних систем (систем, що не претендують на якості, з багаторівневим захистом).

Ідентифікатори користувача і групи користувачів

При вході користувача в систему програма login перевіряє, що користувач зареєстрований в системі і знає правильний пароль (якщо він встановлений), утворює новий процес і запускає в нім потрібний для даного користувача shell. Але перед цим login встановлює для знов створеного процесу ідентифікатори користувача і групи, використовуючи для цього інформацію, що зберігається у файлах /etc/passwd і /etc/group. Після того, як з процесом пов'язані ідентифікатори користувача і групи, для цього процесу починають діяти обмеження для доступу до файлів. Процес може дістати доступ до файлу або виконати його (якщо файл містить виконувану програму) тільки в тому випадку, якщо обмеження доступу, що зберігаються при файлі, дозволяють це зробити. Пов'язані з процесом ідентифікатори передаються створюваним ним процесам, поширюючи на них ті ж обмеження. Проте в деяких випадках процес може змінити свої права за допомогою системних викликів setuid і setgid, а іноді система може змінити права доступу процесу автоматично.

Захист файлів

Як і прийнято, в багатокористувацькій операційній системі, в UNIX підтримується одноманітний механізм контролю доступу до файлів і довідників файлової системи. Будь-який процес може дістати доступ до деякого файлу в тому і лише в тому випадку, якщо права доступу, описані при файлі, відповідають можливостям даного процесу.

Захист файлів від несанкціонованого доступу в ОС UNIX ґрунтується на трьох фактах. По-перше, з будь-яким процесом, що створює файл (або довідник), асоційований деякий унікальний в системі ідентифікатор користувача (UID - User Identifier), якого надалі можна трактувати як ідентифікатор власника знов створеного файлу. По-друге, з кожен процесом, що намагається дістати деякий доступ до файлу, зв'язана пара ідентифікаторів - поточні ідентифікатори користувача і його групи. По-третє, кожному файлу однозначно відповідає його описувач – i-узел.