Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Захист файлів здійснюється за допомогою номера, що ідентифікує користувача, і установки десяти бітів захисту - атрибутів доступу. Права доступу поділяються на три типи: читання (read), запис (write) і виконання (execute). Ці типи прав доступу можуть бути надані трьом класам користувачів: власнику файлу, групі, до якої входить власник, і всім іншим користувачам. Дев'ять з цих бітів керують захистом по читанню, запису і виконанню для власника файлу, інших членів групи, до якої входить власник, і всіх інших користувачів. Файл завжди зв'язаний з визначеним користувачем - своїм власником — і з визначеною групою, тобто в нього є UID (user ID, ідентифікатор користувача) і GID (group ID, ідентифікатор групи). Змінювати права доступу до файлу дозволено тільки його власнику. Змінити власника файлу може суперкористувач, групу - суперкористувач або власник файлу.

Програма, що виконується в системі, завжди запускається від імені деякого користувача і деякої групи (зазвичай - основної групи цього користувача), але зв'язок процесів з користувачами і групами організований складніше: тут розрізняються ідентифікатор для доступу до файлової системи (FSUID — file system access user ID, FSGID — file system access group ID) і ефективний ідентифікатор (EUID — effective user ID, EGID — effective group ID), а при доступі до файлів враховуються ще і повноваження (capabilities), присвоєні самому процесу.

При створенні файл одержує UID, що співпадає з FSUID процесу, який його створює, і, як правило, GID, що співпадає з FSGID цього процесу. Атрибути доступу визначають, що дозволено робити з даним файлом даній категорії користувачів. Є всього три операції: читання, запис і виконання. При створенні файлу (чи ще одного імені для вже існуючого файлу) модифікується не сам файл, а каталог, у якому з'являються нові посилання на вузли. Видалення файлу полягає у видаленні посилання. Таким чином, право на створення або видалення файлу - це право на запис у каталог. Право на виконання каталогу інтерпретується як право на пошук у ньому (проходження через нього). Воно дозволяє звернутися до файлу за шляхом, що вміщує даний каталог, навіть тоді, коли каталог не дозволено читати і тому список всіх його файлів недоступний.

Крім трьох названих основних атрибутів доступу існують додаткові, що використовуються в наступних випадках. Атрибути SUID і SGID мають значення при запуску програми на виконання: вони вимагають, щоб програма виконувалася не від імені користувача (групи ), що її запустив, а від імені власника (групи) того файлу, у якому вона знаходиться. Формально кажучи, якщо файл програми має атрибут SUID (SGID), то FSUID і EUID (FSGID і EGID) відповідного процесу не успадковуються від процесу, що запустив його, а співпадають з UID (GID) файлу. Завдяки цьому користувачі отримують можливість запустити системну програму, яка створює свої робочі файли в закритих для них каталогах. Крім того, якщо процес створює файл у каталозі, який має атрибут SGID, то файл одержує GID не за FSGID процесу, а за GID каталогу. Це зручно для колективної роботи: всі файли і підкаталоги в каталозі автоматично виявляються належними до однієї і тієї ж групи, хоча створювати їх можуть різні користувачі. Є ще один атрибут — CVTX, який тепер відноситься до каталогів. Він показує, що з каталогу, який має цей атрибут, посилання на файл може видалити тільки власник файлу.

Існують дві стандартні форми запису прав доступу — символьна і восьмерична. Символьна являє собою ланцюжок з десяти знаків, перший з який не відноситься до прав, а позначає тип файлу. Використовуються наступні позначення:

- "-" - звичайний файл;

- "d" - каталог (директорія);

- "с" - символьний пристрій;

- "b" - блоковий пристрій;

- "р" - іменований канал (named pipe);

- "s" - "гніздо" (socket1);

- "I" - символічне посилання.

Далі слідують три послідовності, кожна з трьох символів, що відповідають правам користувача, групи і всіх інших. Наявність права на читання позначається буквою "r", на запис – "w", на виконання – "х", відсутність будь-якого права - знаком "-" у відповідній позиції. Наявність атрибута SUID (SGID) позначається заголовною буквою "S" у позиції права на виконання для власника (групи), якщо виконання не дозволене, і прописною буквою "s", якщо дозволене. Восьмеричний запис - це шестизначне число, перші два знаки якого позначають тип файлу і досить часто опускаються, третя цифра - атрибути GUID (4), SGID (2) і SVTX (1), а останні три - відповідно права власника, групи і всіх інших. Очевидно, що право на читання можна представити числом "4", право на запис - числом "2", а право на виконання кодується як "1". Наприклад, стандартний набір прав доступу для каталогу /tmp у символьній формі виглядає як drwxrwxrwt, а у восьмеричній - як 041777 (це каталог; читання, запис і пошук дозволені всім; встановлений атрибут SVTX). А набір прав -r-S-xw-, чи в числовому вигляді - 102412, буде означати, що це звичайний файл, власнику дозволяється читати його, але не виконувати і не змінювати; користувачам із групи файлу (за винятком власника) - виконувати (причому під час роботи програма отримає права власника файлу), але не читати і не змінювати; а всім іншим - змінювати, але не читати і не виконувати. Більшість програм створюють файли з дозволом на читання і запис для всіх користувачів, а каталоги - з дозволом на читання, запис і пошук для всіх користувачів. Цей вихідний набір атрибутів логічно додається до "маски користувача" - user file-creation mask, скорочено umask, що зазвичай обмежує доступ. Наприклад, наступні значення для umask u=rwx, g=rwx, o=r-х слід розуміти так: у власника і групи залишається повний набір прав, а всім іншим забороняється запис. У восьмеричному виді воно запишеться як 002 (перша цифра - обмеження для власника, друга - для групи, третя - для інших, заборона читання - 4, запису - 2, виконання - 1). Власник файлу може змінити права доступу до нього командою chmod.




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 745; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.035 сек.