
- •1. Классификация программного обеспечения
- •1. Базовое программное обеспечение
- •2. Трансляторы
- •3. Языки программирования
- •4. Инструментальные средства (утилиты)
- •5. Прикладное программное обеспечение
- •2. Основные задачи ос
- •3. Типы ос
- •Типы ос по алгоритмам управления ресурсами:
- •Типы ос по аппаратной платформе:
- •Типы ос по области приложений:
- •Типы ос по их архитектурам:
- •4. Базовая система ввода/вывода (bios)
- •Прерывания bios
- •Обеспечение мультизадачности
- •Модернизация bios
- •5. Файловая система. Типы файловых систем. Их особенности.
- •6. Загрузчик ос
- •7. Ядро ос
- •8. Основные функции ядра
- •Планирования заданий в системах без мультипрограммирования.
- •Планирования заданий в системах с мультипрограммированием.
- •Уровни систем планирования.
- •Планировщик процессов.
- •Регулировщик процессов.
- •9. Драйвер ос
- •10. Типы драйверов
- •11. Типы многозадачности, их особенности
- •12. Понятие суперпроцесса
- •13. Потоки
- •Листинг 2. Окончание процедуры инициализации ядра Linux
- •14. Семафоры
- •15. Встроенные функции ос. Встроенные команды ос
- •20. Историческое развитие ос
- •22. Типы unix
- •23. Особенности bsd. Особенности System 5
- •24. Ядро unix
- •25. Типы драйверов unix
- •26. Потоки в unix
- •27. Управление процессами в unix
- •28. Режимы ядра в Unix
- •29. Файловая система в unix
- •30. Реализация безопасности в unix на уровне файловой системы
- •31. Реализация безопасности в unix на уровне ос
- •32. Понятие пользователь, группа в unix
- •33. Бесправный пользователь. Пользователь ресурса. Пользователь ос
- •34. Понятие ресурса
- •35. Понятие консоли.
- •36. Основные команды в unix
- •37. Сеть в unix
- •39. Особенности реализации ms-dos, как составной части unix
- •40. Реализация ядра в ms-dos
- •41. Реализация драйверов в ms-dos
- •42. Реализация потоков в ms-dos
- •43. Управление процессами в ms-dos
- •44. Ограничение на использование оп
- •45. Файловая система в ms-dos
- •46. Реализация безопасности в ms-dos
- •47. Реализация многозадачности в ms-dos
- •48. Встроенные команды ms-dos
- •49. Внешние стандартные команды ms-dos
- •50. Графическая оболочка X- Window
- •51. Графическая оболочка Windows
- •Задачи, поставленные при создании Windows nt.
- •Концепции Windows nt
- •Истоки Windows nt
- •Особенности версии Windows nt 4.0
- •Новые свойства Windows nt 5.0
- •Требования к аппаратуре
- •Области использования Windows nt
- •53. Ядро Windows nt
- •54. Драйверы в Windows nt
- •55. Реализация многозадачности в Windows nt
- •56. Файловая система в Windows nt
- •57. Режимы использования оп в Windows nt
- •58. Реализация безопасности в Windows nt на уровне файловой системы
- •59. Реализация безопасности в Windows nt на уросне ос
- •1. Пользователи, ресурсы и операции доступа
- •2. Локальные, глобальные и специальные группы
- •3. Встроенные группы пользователей и их права
- •4. Возможности пользователей
- •5. Управление профилями пользователей
- •6. Аудит
- •7. Репликация каталогов в сети Windows nt
- •60. Сеть в Windows nt
- •1. Однодоменная сеть Windows nt
- •2. Многодоменная сеть Windows nt
30. Реализация безопасности в unix на уровне файловой системы
Как и принято в многопользовательской операционной системе, в UNIX поддерживается единообразный механизм контроля доступа к файлам и справочникам файловой системы. Любой процесс может получить доступ к некоторому файлу в том и только в том случае, если права доступа, описанные при файле, соответствуют возможностям данного процесса.
Защита файлов от несанкционированного доступа в ОС UNIX основывается на трех фактах. Во-первых, с любым процессом, создающим файл (или справочник), ассоциирован некоторый уникальный в системе идентификатор пользователя (UID - User Identifier), который в дальнейшем можно трактовать как идентификатор владельца вновь созданного файла. Во-вторых, с каждый процессом, пытающимся получить некоторый доступ к файлу, связана пара идентификаторов - текущие идентификаторы пользователя и его группы. В-третьих, каждому файлу однозначно соответствует его описатель - i-узел.
На последнем факте стоит остановиться более подробно. Важно понимать, что имена файлов и файлы как таковые - это не одно и то же. В частности, при наличии нескольких жестких связей с одним файлом несколько имен файла реально представляют один и тот же файл и ассоциированы с одним и тем же i-узлом. Любому используемому в файловой системе i-узлу всегда однозначно соответствует один и только один файл. I-узел содержит достаточно много разнообразной информации (большая ее часть доступна пользователям через системные вызовы stat и fstat), и среди этой информации находится часть, позволяющая файловой системе оценить правомощность доступа данного процесса к данному файлу в требуемом режиме.
Общие принципы защиты одинаковы для всех существующих вариантов системы: Информация i-узла включает UID и GID текущего владельца файла (немедленно после создания файла идентификаторы его текущего владельца устанавливаются соответствующими действующим идентификатором процесса-создателя, но в дальнейшем могут быть изменены системными вызовами chown и chgrp). Кроме того, в i-узле файла хранится шкала, в которой отмечено, что может делать с файлом пользователь - его владелец, что могут делать с файлом пользователи, входящие в ту же группу пользователей, что и владелец, и что могут делать с файлом остальные пользователи. Мелкие детали реализации в разных вариантах системы различаются. Для определенности мы приведем точную картину того, как это происходит в UNIX (1).
Таблица 1. Представление информации, ограничивающей доступ к файлу, в i-узле файла
Шкала ограничений в восьмеричном виде |
Описание |
04000 |
Устанавливать идентификатор пользователя-владельца при выполнении файла. |
020n0 |
При n = 7, 5, 3 или 1 устанавливать идентификатор группы владельца при выполнении файла. При n = 6, 4, 2 или 0 разрешается блокирование диапазонов адресов файла. |
01000 |
Сохранять в области подкачки образ кодового сегмента выполняемого файла после конца его выполнения. |
00400 |
Владельцу файла разрешено чтение файла. |
00200 |
Владелец файла может дополнять или модифицировать файл. |
00100 |
Владелец файла может его исполнять, если файл - исполняемый, или производить в нем поиск, если это файл-каталог. |
00040 |
Все пользователи группы владельца могут читать файл. |
00020 |
Все пользователи группы владельца могут дополнять или модифицировать файл. |
00010 |
Все пользователи группы владельца могут исполнять файл, если файл - исполняемый, или производить в нем поиск, если это файл-каталог. |
00004 |
Все пользователи могут читать файл. |
00002 |
Все пользователи могут дополнять или модифицировать файл. |
00001 |
Все пользователи могут исполнять файл, если файл - исполняемый, или производить в нем поиск, если это файл-каталог. |