Списки управления доступомРефераты >> Программирование и компьютеры >> Списки управления доступом
Для сохранности разрешений важно сохранить настолько много информации, насколько это возможно. И, хотя это выглядит очевидно, правильная реализация этого не всегда тривиальна. Существует ряд сложностей, которые делают эти операции склонными к порождению ошибок в реализации. Это случается, например, если файл-источник и файл-назначение расположены на различных файловых системах, только одна из которых поддерживает ACL. Для того, чтобы освободить программистов необходимости предусматривать огромное количество возможных ситуаций, текущая версия libacl включает функции копирования EAs и ACL между файлами [8].
Также было бы замечательно, если поддержка EA и ACL была бы включена в такие популярные утилиты, как scp и rsync. К несчастью, утилиты, которые переносят файлы между различными файловыми системами, имеют намного более сложные несовместимости. Только некоторые UNIX-подобные системы поддерживают библиотечные функции POSIX.1e ACL, а остальные имеют свои собственные интерфейсы. Даже хуже, семантика ACL сильно различается среди одних только UNIX систем, не говоря уже о не-UNIX системах. Семантика и системные интерфейсы для EAs, к несчастью, также сильно различаются среди различных операционных систем.
4. ACL в Microsoft Windows
4.1 Защита файлов и каталогов
4.1.1 DACL и SACL
Операционная система Windows NT 4.0 поддерживает файловые системы FAT и NTFS. Первая поддерживается такими известными операционными системами, как MS-DOS, Windows 3.x, Windows 95/98 и OS/2, вторая — только семейством Windows NT. У FAT и NTFS различные характеристики производительности, разный спектр предоставляемых возможностей и т.д. Основное отличие файловой системы NTFS от других (FAT, VFAT, HPFS) состоит в том, что только она одна удовлетворяет стандарту безопасности C2, в частности, NTFS обеспечивает защиту файлов и каталогов при локальном доступе.
Защиту ресурсов с использованием FAT можно организовать с помощью прав доступа: чтение, запись, полный доступ.
Таким образом, наиболее удачным с точки зрения безопасности будет создание дисковых разделы NTFS вместо FAT. Если все же необходимо использовать раздел FAT, то его надо сделать отдельным разделом для приложений MS-DOS и не размещать в нем системные файлы Windows NT.
Поскольку файлы и каталоги в Windows NT являются объектами, контроль безопасности осуществляется на объектном уровне. Дескриптор безопасности любого объекта в разделе NTFS содержит два списка управления доступом (ACL) — дискреционный (DACL) и системный (SACL).
В операционной системе Windows NT управление доступом к файлам и каталогам NTFS возлагается не на администратора, а на владельца ресурса и контролируется системой безопасности с помощью маски доступа (access mask), содержащейся в ACE соответствующего ACL.
Маска доступа включает стандартные (Synchronize, Write_Owner, Write_Dac, Read_Control, Delete), специфические (Read(Write)_Data, Append_Data, Read(Write)_Attributes, Read(Write)_ExtendedAttributes, Execute) и родовые (Generic_Read(Write), Generic_Execute) права доступа. Все эти права входят в дискреционный список контроля доступа (DACL). Вдобавок маска доступа содержит бит, который соответствует праву Access_System_Security. Это право контролирует доступ к системному списку контроля доступа (SACL).
В списке DACL определяется, каким пользователям и группам разрешен или запрещен доступ к данному ресурсу. Именно этим списком может управлять владелец объекта.
Список SACL задает определенный владельцем тип доступа, что заставляет систему генерировать записи проверки в системном протоколе событий. Только системный администратор управляет этим списком.
4.1.2 Права и разрешения
На самом деле для администрирования используются не отдельные права доступа, а разрешения NTFS. Разрешения подразделяются на:
- индивидуальные — набор прав, позволяющий предоставлять пользователю доступ того или иного типа (таблица 8.1);
- стандартные — наборы индивидуальных разрешений для выполнения над файлами или каталогами действий определенного уровня (таблица 8.2);
- специальные — комбинация индивидуальных разрешений, не совпадающие ни с одним стандартным набором (таблица 8.3).
Таблица 8.1 – Индивидуальные разрешения в NTFS
Разрешения |
Права доступа |
Операция над | |
файлами |
папками | ||
Read |
Read_Control Read_Data Read_Atributes Read_EA Synchronize |
Операции чтения файла, просмотр атрибутов, прав доступа, а также имени владельца |
Операции отображения содержимого папки, просмотра атрибутов, прав доступа, а также имени ее владельца |
Write |
Read_Control Write_Data Append_Data Write_Atributes Write_EA Synchronize |
Операции изменения файла и его атрибутов, просмотра прав доступа и имени владельца |
Операции создания подпапок и файлов, изменения атрибутов файлов, просмотра прав доступа и имени владельца |
Execute |
Read_Control Read_Atributes Synchronize Execute |
Операции запуска программы, просмотр атрибутов, прав доступа, а также имени владельца |
Операции просмотра атрибутов и прав доступа, а также имени владельца и изменения подпапок |
Delete |
Delete |
Операции удаления файла |
Операции удаления папок |
Change permission |
Write_Dac |
Операции изменения прав доступа |
Операции изменения прав доступа |
Take ownership |
Write_Owner |
Операции изменения владельца файла |
Операции изменения владельца папки |
Таблица 8.2 - Стандартные разрешения в NTFS
Разрешение |
Индивидуальные разрешения |
Операции |
No Access |
Нет |
Запрещение доступа к файлу. Пользователь, для которого оно установлено, не может получить доступ к файлу даже в том случае, если он входит в группу пользователей, имеющих права доступа к данному документу. |
Read |
Read, Execute |
Предоставление пользователю права на просмотр файлов и запуск приложений, хранящихся в папке. |
Change |
Read, Write, Execute, Delete |
Разрешение (дополнительно к правам, предоставляемым правом Read) на создание и удаление файлов и папок, модификацию содержимого файлов. |
Full Control |
Все |
Разрешение (дополнительно к правам, предоставляемым правом Change) на изменение прав доступа и вступление во владение файлами и папками. |