Page 23 - 4820
P. 23
ЛАБОРАТОРНА РОБОТА № 4
СИСТЕМА РОЗМЕЖУВАННЯ ДОСТУПУ В UNIX, ПРАВА
ДОСТУПУ ДО ФАЙЛІВ І КЕРУВАННЯ НИМИ
Мета роботи: оволодіння практичними навичками керування правами доступу
до файлів і їхній аналіз в ОС UNIX.
4.1 Теоретичні відомості
Складовою кожної захищеної системи є система розмежування доступу. У
системі UNIX контролюється доступ до файлів. Кожний файл має свого власника, а
також відноситься до визначеної групи. Вся детальна інформація про файл, що включає
тип файлу, ідентифікатори власника файлу та його групи, розмір файлу, час останньої
модифікації файлу, інформацію щодо прав доступу до файлу, а також про його
розміщення (номери блоків), міститься не в каталогах, як це зроблено в багатьох інших
файлових системах, у тому числі FAT (MS-DOS, Windows), а в системній таблиці так
званих індексних дескрипторів (i-node). Безпосереднє звернення до цієї таблиці
заборонене. Каталоги містять лише ім’я файлу та індекс – посилання на відповідний
запис в таблиці індексних дескрипторів. Саме завдяки такій організації, кожний файл у
файловій системі UNIX може мати кілька абсолютно рівноправних імен (жорстких
посилань), що в загальному випадку містяться в різних каталогах (це було розглянуто в
Лабораторній роботі №3). Інформацію з таблиці індексних дескрипторів можна
переглянути командою ls –l. При цьому для кожного файлу інформація видається у
вигляді одного рядка. Перший символ – тип файлу: ‘–’ – звичайний файл (текстовий
або бінарний), d –каталог (directory), l – символічне посилання (link), c – символьний
пристрій (character device), b – блочний пристрій (block device). Наступні дев’ять
символів описують права доступу до файлу. Далі надається інформація про кількість
жорстких посилань на файл, власника файлу, групу, розмір файлу, дату останньої
модифікації і останнє поле – ім’я файлу.
UNIX реалізує дискреційну модель розмежування доступу, в якій для кожного
файлу визначається, які права мають всі користувачі на доступ до файлу. Для цього з
кожним файлом асоціюється спеціальна інформація, що містить ідентифікатор
власника файлу, ідентифікатор групи файлу і права доступу до файлу. Права доступу
поділяються на 3 частини: права власника, права групи і права всіх інших. У кожному
класі користувачів виділено по 4 біти. Перші (молодші) три біти відповідають правам
читання, запису й виконання, відповідно. Для каталогів право виконання трактується як
право доступу до таблиці індексних дескрипторів на читання і запис, не маючи цього
права неможливо зробити поточним цей каталог чи будь-який з його підкаталогів,
неможливо ознайомитись і змінити права доступу до об’єктів цього каталогу, можна
тільки переглядати його вміст, якщо є право читання. Навіть маючи право запису, без
права виконання не можна змінити вміст каталогу. Навпаки, якщо є право на
виконання, але не встановлено право на читання для каталогу, то неможливо
переглянути вміст каталогу, але можна заходити в його підкаталоги чи звертатись до
файлів, що містяться в ньому, якщо знати їхні імена.
Четвертий біт має різне значення залежно від того, в якій групі прав доступу він
установлений. Для групи прав власника цей біт називається SUID (Set-User-ID-on-
execution bit), і якщо він установлений для файлу, що виконується, то цей файл
виконується для будь-якого користувача із правами власника цього файлу. Якщо
21