Контроль доступа к файлам и каталогам в ос windows
Скачать 0.64 Mb.
|
Министерство по развитию информационных технологий и коммуникаций Республики Узбекистан Каршинский филиал ташкенского университета информационных технологий имени Аль Хорезми телекоммуникация факультет Подготовил Рахматов Фахриддин Группы тт-12-21 Контроль доступа к файлам и каталогам в ОС Windows.Физическая организация хранения данных отличается от логического представления о иерархической структуре хранения файлов и каталогов. Основное устройство хранения информации – дисковые накопители (прежде всего жесткие диски). В общем случае жесткий диск состоит из набора пластин, покрытых магнитным слоем. На каждой пластине размечены дорожки, на которых хранятся данные. Совокупность дорожек одного радиуса на всех пластинках называется цилиндром. Каждая дорожка разбивается на фрагменты, называемые секторами или блоками, так что все дорожки имеют равное число секторов, в которые максимально можно записать одно и то же число байт. Сектор – минимально адресуемая единица обмена данными. Для нахождения нужного сектора, контроллер должен знать его адрес: номер цилиндра, номер поверхности и номер сектора. Операционная система при работе с дисками использует собственную единицу пространства – кластер. Кластер включает в себя от одного до нескольких секторов. Дорожки и сектора создаются в процессе физического (низкоуровневого) форматирования. Низкоуровневый формат не зависит от операционной системы. Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровневого (логического) форматирования. При логическом форматировании определяется размер кластера, записывается информация, необходимая для работы ОС с файловой системой (доступное и неиспользуемое пространство, границы областей и др.), загрузчик ОС – программа необходимая для инициализации операционной системы. Разделы дискаРаздел диска – непрерывная часть физического носителя, которую операционная система представляет пользователю, как логическое устройство. Логическое устройство функционирует так, как если это был отдельный физический диск. Операционные системы разного типа используют единое для всех представление о разделах, но создают на его основе логические устройства специфические для ОС. На каждом логическом устройстве может быть одна файловая система. Логические устройства. RAID-массивыЛогическое устройство может быть создано на базе нескольких разделов, причем эти разделы не обязательно принадлежать одному физическому устройству. Объединение нескольких разделов в одно логическое устройство может быть обусловлено разными причинами:
повышение производительности дисковой подсистемы; повышение отказоустойчивости. Примеры организации объединения физических устройств в одно логическое устройство – создание RAID-массивов (Redundant Array of Inexpensive Disks). Создание и управление разделамиСоздание разделов на физическом диске выполняется, как правило, на этапе установки (инсталляции) операционной системы. Примером команды управляющей разбивкой физического устройства на разделы является команда fdisk. Версии данной команды есть в Windows и различных вариантах UNIX. После установки операционной системы, специальные средства позволяют получить информацию о существующих разделах и, при необходимости, вносить изменения. Менеджер дисков в Windows XPДля управления дисковыми разделами в Windows включен менеджер дисков. Разделы в UNIXИнформацию о дисковых разделах, загружаемую при страте операционной системы, можно посмотреть в файле /etc/fstab. Пример файла приведен ниже:
# of network filesystems before modifying this file. # # Device Mountpoint FStype Options Dump Pass# /dev/da0s1b none swap sw 0 0 /dev/da0s1a / ufs rw 1 1 /dev/da0s1f /tmp ufs rw 2 2 /dev/da0s1g /usr ufs rw,userquota,groupquota 2 2 /dev/da0s1e /var ufs rw,userquota 2 2 /dev/cd0c /cdrom cd9660 ro,noauto 0 0 proc /proc procfs rw 0 0 Разделы в UNIXКаждый раздел имеет уникальный идентификатор в каталоге /dev. Имена файлов в каталоге включают несколько компонентов:
номер устройства. Каждое физическое устройство определенного типа имеет номер – 0, 1 и т.д. Для IDE-дисков номер определяется номером контроллера и номером в цепочке. номер первичного раздела. Первичные разделы нумеруются от 1 до 4. Номеру первичного раздела предшествует буква s. Логические диски интерпретируются подобно первичным, но их нумерация начинается с 5. буква, обозначающая раздел. После номера первичного раздела указывается буква, обозначающая подраздел в рамках первичного раздела. Для вывода информации о существующих разделах в UNIX можно воспользоваться командой: df [опции] [файл | файловая система] Физическая организация и адресация файловОдним из компонентов организации файловой системы является физическая организация файла, то есть способ размещения файла на диске. Критериями эффективности организации хранения данных являются:
Объем адресной информации файла; Степень фрагментированности дискового пространства; Максимально возможный размер файла. Непрерывная организация файла
достоинство: высокая скорость доступа, минимальный размер адресной информации (необходим адрес начального кластера и размер файла); недостаток: при редактировании размер файла изменяется, что приведет к фрагментации используемого пространства.
Размещение файла в виде связанного списка кластеров дисковой памяти. При таком способе в начале каждого кластера содержится указатель на следующий кластер. Достоинство: адресная информация минимальна (расположение файла задается номером первого кластера), уменьшается фрагментация диска. Недостаток: сложность реализации доступа к произвольно заданному месту файла.
4 6 eof Использование связанного списка индексов. Является модификацией предыдущего способа. Файлу выделяется пространство в виде списка кластеров. Номер первого кластера запоминается в записи каталога. Остальная адресная информация отделена от кластеров файла, образуя область индексов. С каждым кластером связан свой индекс. Если некоторый индекс соответствует занятому кластеру, то индекс принимает значение номера следующего кластера или специальное значение. соответствующее концу файла. Достоинство: адресная информация минимальна (расположение файла задается номером первого кластера), уменьшается фрагментация диска, существует возможность считывать кластеры в произвольной части файла.
Использование перечисления списка кластеров. Этот перечень и служит адресом файла. Достоинство: высокая скорость доступа к произвольному кластеру файла, поскольку используется прямая адресация, исключающая просмотр указателей при поиске адреса произвольного кластера. Недостаток: длина адреса зависит от размера файла и может составлять значительную величину. Примером использования данного подхода служат файловые системы UNIX – ufs, s5.
Логический раздел FAT включает в себя следующие области:
Основная копия FAT содержит информацию о размещении файлов и каталогов на диске. Резервная копия FAT. Корневой каталог занимает фиксированную область в 32 сектора, что позволяет хранить информацию 512 записи о файлах и каталогах. Область данных – область, где размещаются кластеры файлов и всех каталогов, кроме корневого каталога. Файловая система FAT поддерживает всего 2 типа файлов: обычный файл и каталог. Таблица FAT (File Allocation Table) состоит из индексных указателей, количество которых равно количеству кластеров области данных. Между кластерами и индексными указателями имеется взаимно однозначное соответствие. Индексный указатель принимает следующие значения:
Кластер используется файлом и не является последним кластером файла, в этом случае индекс содержит индексный указатель следующего кластера; Последний кластер файла; Дефектный кластер; Резервный кластер. При размещение файла ОС просматривает FAT и ищет первый свободный индексный указатель. При этом в поле записи каталога фиксируется номер этого указателя. В кластер с данным номером записываются данные файла и он становится первым кластером файла. Если файл умещается в один кластер, то в указателе соответствующем данному кластеру ставится отметка конец файла. При удалении файла из файловой системы FAT в первый байт соответствующей записи каталога заносится специальный признак, что эта запись свободна, а в индексные указатели файла заносится признак – кластер свободен. Размер таблицы FAT и разрядность используемых индексных указателей определяется количеством кластеров в области данных. Для уменьшения потерь на фрагментацию кластеры желательно сделать небольшими, для уменьшения объема адресной информации и ускорения скорости доступа – наоборот. Существует несколько разновидностей FAT, различающихся разрядностью индексных указателей – FAT12, FAT16, FAT32. Файловые системы FAT12 и FAT16 оперируют с именами файлов типа «8.3». В версии FAT16 операционной системой Windows NT введен новый тип – «длинное имя», что позволяет использовать имена длиной до 255 символов, причем каждый символ кодируется 2 байтами в формате Unicode. Файловая система ufs включает в себя следующие повторяющиеся области:
Суперблок – содержит общую информацию о файловой системе: размер файловой системы, размер области индексных дескрипторов, число индексных дескрипторов, список свободных блоков и список свободных индексных дескрипторов, другую административную информацию; Блок группы цилиндров – описывает количество индексных дескрипторов и блоков данных, расположенных на данной группе цилиндров; Область индексных дескрипторов (inode list) – порядок расположения дескрипторов в которой соответствует их номерам; Область данных – блоки где располагаются обычные файлы, файлы-каталоги Специальные файлы (жесткие ссылки, специальный файл устройства, именованный канал и т.д.) представлены в файловой системе только записями в соответствующих каталогах и индексными дескрипторами специального формата. Особенность системы ufs – отделение имени файла от его характеристик, хранящихся в отдельной структуре, называемом индексным дескриптором. Индексный дескриптор содержит данные:
Тип файла; Права доступа к файлу; Временные характеристики (время последней модификации, время создания, время последнего обращения); Число ссылок не данный индексный дескриптор, равный количеству псевдонимов файла; Адресная информация; Размер файла в байтах. Каждый индексный дескриптор имеет номер, являющийся уникальным именем файла. Соответствие между полным символьным именем файла и его уникальным номером устанавливается с помощью иерархии каталогов. Система ведет список номеров свободных индексных дескрипторов. При создании файла ему выделяется номер из числа свободных, при удалении – номер индексного дескриптора возвращается в список. Запись о файле в каталоге состоит из 2 полей: символьного имени файла и номера индексного дескриптора. Файловая система не накладывает ограничений на размер корневого каталога, поскольку он расположен в области данных и может увеличиваться как обычный файл. Для хранения адреса файла используется следующая схема адресации кластеров файла:
Если размер файла меньше или равен 12 кластерам, то эти номера непосредственно перечисляются в первых 12 полях адреса. Если размер больше 12 кластеров, то следующее поле используется для адреса кластера, где будут располагаться номера следующих кластеров. Если размер файла опять превышает число кластеров (прямой и косвенной адресации), то используется 14 поле и т.д. В системе ufs имена файлов могут иметь длину до 255 символов (кодировка ASCII – 1 байт на символ). Файловая система NTFS была разработана для ОС Windows NT. Основные отличительные особенности файловой системы NTFS:
восстанавливаемость после сбоев и отказов программ и аппаратного управления дисками; высокая скорость операций; низкий уровень фрагментации; гибкая структура, допускающая развитие за счет добавление новых типов записей и атрибутов файлов; устойчивость к отказам дисковых накопителей; контроль доступа к каталогам и отдельным файлам. Все пространство раздела NTFS представляет собой либо файл, либо часть файла. Основной структурой раздела NTFS является главная таблица файлов (MFT). Данная структура содержит по крайней мере одну запись для каждого файла, включая запись для самой себя. Каждая запись MFT имеет фиксированную длину (обычно 2 кбайта). Все файлы в разделе NTFS идентифицируются номером, который определяется номером записи в MFT. Весь раздел NTFS состоит из последовательности кластеров. Порядковый номер кластера называется логическим номером кластера (LCN). Базовая единица распределения дискового пространства для файловой системы NTFS – непрерывная область кластеров – отрезок. Для хранения номера кластера в NTFS используются 64-разрядные указатели. Структура раздела NTFS включает:
первый отрезок MFT, содержащий 16 стандартных записей о системных файлах NTFS. Файл NTFS целиком размещается в записи таблицы MFT, если это позволяет сделать его размер. В случае, если размер файла больше длины записи, в запись помещаются только некоторые атрибуты файла, а остальные данные размещаются в отдельных отрезках тома. Структура файла в NTFSКаждый файл в разделе NTFS состоит из набора атрибутов. Даже имя файла и его данные рассматриваются как атрибуты. Каждый атрибут состоит из полей: тип атрибута, длина атрибута, значение атрибута и, возможно, имя атрибута. Системный набор включает следующие атрибуты:
имя файла – содержит длинное имя файла в формате Unicode; имя MS-DOS – имя файла в формате 8.3; версия – номер последней версии файла; дескриптор безопасности – содержит информацию о защите файла: список прав доступа и поле аудита; версия раздела, используется в системных файлах; данные – содержит обычные данные файла; битовые данные MFT – содержит карту использования блоков в разделе; корень индекса – используется для поиска файлов и др. Структура файла в NTFSНебольшие файлы целиком помещаются внутри одной записи MFT. Большие файлы не помещаются в одну запись и данный факт отражается в заголовке атрибута Данные. В этом случае атрибут Данные содержит адресную информацию об отрезках размещения данных. Сверхбольшие файлы. Для таких файлов в атрибуте Список атрибутов указывается несколько атрибутов, расположенных в дополнительных записях MFT. Файловые операцииФайловая система ОС предоставляет набор операций работы с файлами, оформленных в виде системных вызовов:
Read –чтение файла; Write – запись файла; другие Операционная система выполняет последовательность действия над в файлами следующим способом: Универсальные операции (open, close) выполняются в начале и в конце последовательности операций, а для каждой промежуточной операции выполняются только уникальные действия. Блокировка файлов используется в качестве средства синхронизации между процессами, пытающимися одновременно работать с одним и тем же файлом. Контроль доступа к файлуФайл представляет собой разделяемый ресурс ОС, доступ к которому необходимо контролировать. В рамках теории информационной безопасности все множество сущностей в операционной системе разделяется на две категории:
пассивные сущности – объекты. Существует набор операций, которые субъекты могут выполнять над объектами. Система контроля доступа должна предоставлять средства для задания прав доступа, обеспечивать установленный механизм предоставления доступа. Основные типы управления доступомДискреционный (произвольный) доступ – владелец может установить набор допустимых операций с объектом. Администратор имеет возможность самостоятельно изменять права доступа. Мандатный (принудительный) доступ. Система наделяет пользователя набором прав по отношению к каждому объекту. Группы пользователей образуют строгую иерархию, причем каждая группа обладает всеми правами нижележащей группы. Управление доступом к файлов в ОС Windows может быть выполнено с помощью контекстного меню в Проводнике. Кнопки Добавить и Удалить позволяют изменить набор пользователей объекта файловой системы (файла или каталога). Кнопка Дополнительно позволяет выполнить более тонкую настройку. Для просмотра и установления прав доступа к объектам файловой системы NTFS в ОС Windows могут быть использованы операции в командном режиме:
Синтаксис
Команда Takeown – позволяет администратору восстанавливать доступ к файлу, если он ранее был запрещен, путем назначения администратора владельцем файла. Синтаксис takeown [/s компьютер [/u [домен\пользователь [/p [пароль]]]] /f имя_файла [/a] [/r] [/d {Y | N}] Для управления доступом к объектам файловой системы в UNIX используются специальные атрибуты файлов – биты защиты. Биты защиты разделены на три группы UUUGGGOOO:
GGG – биты прав доступа группы пользователя; OOO – биты прав доступа остальных пользователей. Биты защиты определены для следующих прав RWX: R – чтение W – запись X - выполнение Для установки прав доступа может быть использована команда chmod:
Для установки прав может быть использованы числовые значения или символьное представление: Например для установки прав RW-R--R-- (110 100 100 в двоичном представлении) файлу test.cpp выполняется с помощью команд: chmod 644 test.cpp chmod u=rw,g=r,o=r test.cpp Для добавления прав используются модификатор + chmod u+x rc.conf Для распространения прав доступа на вложенные файлы и подкаталоги используется опция –R chmod 644 –R directory/ |