Пятница, 26.04.2024, 20:28
Приветствую Вас Гость

SYSTEM ADMINISTRATOR

Меню
Разделы
Друзья
Реклама
Наша кнопка
Опрос
Нужен ли нам форум?
Всего ответов: 64
Главная » 2011 » Апрель » 12 » Управление доступом
14:27
Управление доступом

Первый вопрос, на который нам предстоит ответить: что позволяет выставить определенные разрешения на объект для конкретного пользователя. Вспомним, например, Windows 98. В этой системе также было много пользователей, но ни о какой локальной безопасности речи не было. Каждый входящий в систему пользователь имел одинаковые права на доступ к объектам. Хотя некоторые ограничения все-таки могли встретиться. Например, ситуация, когда невозможно было отредактировать файл. Что являлось ограничением? Здесь необходимо вспомнить атрибуты файлов. Из урока по файловым системам вы помните такой атрибут, как только чтение. При попытке произвести изменение объекта система просматривала наличие бита такого атрибута, и если он присутствовал, мы получали отказ в редактировании. Однако такое ограничение действует на всех пользователей.

Из этого примера нам становится понятным, на основе чего можно устанавливать разрешения для объекта. Как вы помните, атрибуты являются принадлежностью объектов файловой системы. Соответственно, указав ОС правила обработки различных атрибутов, можно установить разные разрешения на доступ к объекту. Итак, установка разрешений возможна за счет связки файловой системы и ОС. При этом операционная система должна быть многопользовательской. С ОС нам все понятно. Мы рассматриваем Windows XP. А что же файловая система?  Мы знаем, что файловые системы FAT и FAT32 поддерживают всего 8 атрибутов, из которых пользователь может менять всего 4. Это архивный (указания ОС на то, что этот файл подлежит архивированию), системный (указание на принадлежность файла к системе), скрытый (указание ОС не отображать объект в проводнике) и только чтение (запрет на редактирование). Как видите, такого набора атрибутов слишком мало для того, чтобы установить такие разрешения, как запрет удаления, просмотр содержимого папки и т.д. Из файловых систем, поддерживаемых Windows XP, нам остается NTFS. Именно эта файловая система и позволяет полностью раскрыть все возможности Windows XP по обеспечению локальной безопасности.

Теперь рассмотрим, каким образом работает связка Windows XP (учетные записи!) и NTFS. Как вы знаете, каждому субъекту безопасности в этой ОС соответствует SID (идентификатор безопасности). SID – это уникальное число, генерируемое ОС. Первая часть этого числа определяет систему, а вторая непосредственно субъект этой системы. Система работает с идентификаторами безопасности, а не с именами учетных записей. Как вы помните, если удалить учетную запись и создать новую с таким же именем, то это будут совершенно разные учетные записи. Это говорит об уникальности идентификатора безопасности. Соответственно, SID однозначно определяет субъект безопасности и его принадлежность к конкретной системе.

С объектом файловой системы будет храниться SID определенного пользователя или группы, для которого назначены разрешения и соответственно сами комбинации разрешения. При установке разрешений на доступ к объекту SID пользователя вместе с описанием разрешений, полученных пользователем на этот объект, заносится в состав записи управления доступом ACE (access control entry) или по-русски, запись управления доступом.

Естественно это не та запись, которая хранится с файлом на диске, это понятное для нас графическое представление. Одна из записей выглядит, как «неизвестный пользователь». Для этой записи четко виден SID. Данный пользователь был удален из системы, поэтому невозможно разрешить его имя, но его SID явно записан в списке управления доступом для объекта. То есть эта запись не принадлежит операционной системе, запись хранится вместе с файлом. Учетная запись была удалена из ОС, но запись разрешений для нее осталась храниться вместе с файлом.

Теперь при попытке выполнить какие-либо действия с объектом система сравнит SID пользователя с той записью, которая хранится с самим объектом и определит, может ли пользователь выполнить это действие. Одна запись ACE содержит информацию о разрешениях, назначенных в отношении одного пользователя (группы). Если необходимо выставить доступ для нескольких пользователей, то каждому из них будет соответствовать отдельная ACE. Все записи ACE заносятся в специальный список управления доступом ACL (access control list), который хранится вместе с объектом.

Когда пользователь входит в систему, происходит поиск всех SID, имеющих к нему отношение, как индивидуально, так и по состоянию членства в группах. Все эти идентификаторы заносятся в структуру, которая называется токеном доступа (маркером). При попытке пользователя получить доступ к объекту идентификаторы из токена пользователя сравниваются с идентификаторами, записанными в ACL этого объекта. В случае совпадения система определяет права доступа пользователя к данному объекту.

Определимся с тем, какие же операции с объектами подлежат разрешению или запрету. Что мы можем делать с объектами файловой системы? Мы можем открывать папку для просмотра ее содержимого, открывать файл для прочтения, изменять содержимое файла и папки, удалять файл или папку, копировать их или перемещать. В NTFS эти операции выглядят немного по иному в контексте установки разрешений. Например, такая операция, как копирование предполагает наличие разрешений на чтение исходного объекта и разрешение на запись в конечный объект.

Теперь давайте рассмотрим NTFS разрешения. Разрешения NTFS можно было устанавливать и в NT 4.0, используя файловую систему NTFS4. Хотя многие из концепций остались такими же как в NT 4.0, некоторые отличия все же есть. NTFS-разрешения являются накопительными (cumulative) по своей сущности. Это означает, что если субъекту назначено несколько разрешений на объект, то их комбинация и будет эффективным разрешением. Если пользователь индивидуально имеет право на чтение файла, а группе, к которой он принадлежит дано право на запись в файл, то пользователь будет обладать и правом чтения и правом записи.

Настройка разрешений

Чтобы установить, просмотреть, сменить или удалить разрешения для файлов и папок: Откройте проводник и найдите файл или папку, для которой требуется установить разрешения.

Щелкните файл или папку правой кнопкой мыши, выберите команду Свойства и перейдите на вкладку Безопасность.

В Windows XP, вкладка Безопасность скрыта по умолчанию. Для того, чтобы её отобразить, откройте «Мой компьютер», на вкладке «Сервис» выберите пункт меню «Свойства папки». В полученном окне перейдите на вкладку «Вид» и снимите флажок «Использовать простой общий доступ к файлам (рекомендуется)» в группе «Дополнительные параметры».

Чтобы установить разрешения для группы или пользователя, которого нет в списке «Группы или пользователи», нажмите кнопку «Добавить». Введите имя группы или пользователя, для которого устанавливаются разрешения, и нажмите кнопку ОК.

Когда вы добавляете нового пользователя или группу к ACL файла, они по умолчанию получают право Чтение или Чтение и выполнение (так же и с папками, только с прибавлением права Просмотр содержимого папки.

Чтобы сменить или удалить разрешения на доступ для существующей группы или пользователя, выберите имя этой группы или пользователя, а затем в нижней части окна установите новый набор разрешений.

Чтобы удалить группу или пользователя из списка Группы или пользователи, нажмите кнопку Удалить.

В нижней части окна настраиваются стандартные разрешения на доступ к объекту. Чтобы предоставить или отменить разрешение, в списке Разрешения для Имя пользователя или группы установите соответственно флажок Разрешить или Запретить.

Таблица внизу показывает стандартные разрешения, которые существуют в Access Control List (ACL) для файлов и папок в Windows XP/2000.

 
Стандартные разрешения
Стандартные разрешения для файлов Стандартные разрешения для папок
Full Control (Полный контроль) Full Control (полный контроль)
Modify (Изменять) Modify (Изменять)
Read and Execute (Читать и исполнять) Read and Execute (Читать и исполнять)
Read (Читать) Read (Читать)
Write (Писать) Read (Читать)

Write (Писать)

Как уже было замечено выше, разрешения пользователя являются аддитивными (накопительными). Для вычисления эффективных разрешений пользователя на объект, необходимо сложить все разрешения данные ему лично и все разрешения данные группам, в которых он состоит.

А теперь обратите внимание на то, что в окне установки разрешений присутствует еще и колонка для установки запрещений. Не абсурд ли это? Зачем нужно что-то запрещать, если можно просто этого не разрешать? Ведь если пользователю не ставить флажок напротив разрешения «Чтение», то у него не будет права чтения на этот объект. И действительно такой механизм работает в этом можно легко убедиться.

Однако, давайте вспомним, что нам предоставили возможность включать пользователей в группы для облегчения администрирования. Я уже говорил, что управлять группами гораздо удобнее, чем отдельными учетными записями. Теперь представьте, что группе, в которую входит пользователь дано право чтения на объект. А для самого пользователя вы такое право не включили. Означает ли это, что у пользователя нет права чтения. Нет, ведь права пользователя накопительные, а, значит, право чтения пользователь получит по состоянию членства в группе, у которой такое право есть. А если мы как раз и добиваемся того, чтобы у пользователя не было права чтения. Что же теперь забрать это право у всей группы и назначать его каждой учетной записи отдельно или вывести пользователя из группы? Оба варианта однозначно плохи. Гораздо проще для пользователя установить явный запрет чтения. При определении эффективных разрешений, запрет всегда будет иметь преимущество перед разрешением.

Обобщим. Разрешения пользователя на объект суммируются. Отсутствие разрешения не является запрещением (что не разрешено еще и не запрещено). Явное запрещение имеет приоритет перед разрешением (что запрещено, то не разрешено).

Обратите внимание, что если установить разрешение или запрещение «Изменять», то одновременно будут активированы и все разрешения или запрещения стоящие ниже в списке. Это значит, что разрешение «Изменять» включает в себя и перечисленные ниже разрешения. Стоит предположить, что право «Изменять» позволяет производить над объектом практически любые действия, но это было бы так, если бы файловая система была FAT. А здесь мы видим, что тот же самый результат будет при установке разрешения «Полный доступ». А разрешение полный доступ включает в себя еще и право «Изменять». Какие же такие действия позволяет право «Полный доступ» по сравнению с «Изменять». Здесь в этом окне мы не сможем этого сказать, потому что, включая любое из этих разрешений, мы сделаем активным одинаковый набор разрешений внизу. Чуть ниже мы узнаем отличия в этих разрешениях, а сейчас задумайтесь, что мы делаем, устанавливая разрешения? Мы производим действие над объектом, мы меняем его ACL! Да это действие немного не вписывается в рамки наших представлений об обычных файловых операциях. Мы привыкли к действиям типа: удаление, запись, чтение, а тут нечто неочевидное «Установка разрешений». Но как бы то ни было это действие и его так же можно разрешать или запрещать. Кому-то можно разрешить изменять разрешения на объект, а кому-то нет. Вот так методом логических заключений мы нашли одно из различий в правах «Изменять» и «Полный доступ». Далее мы узнаем и об остальных.

Если вы создадите папку или файл, то увидите, что его ACL не пустой. Там уже есть записи. Мало того флажки против разрешений невозможно поменять, они не активны и закрашены в серый цвет. Кто же установил эти разрешения? По умолчанию, разрешения в Windows XP/2000 наследуются. Вы можете с уверенность сказать, что разрешения унаследованы, когда окно разрешений окрашено серым и не позволяет проводить настройку. Это означает, что разрешения установлены на более высоком уровне. Если флажки в списке Разрешения для Имя пользователя или группы затенены или кнопка «Удалить» недоступна, значит, данный объект унаследовал разрешения от родительской папки (верхнего каталога).

Наследование разрешений.

Представьте ситуацию, когда вы создаете новый объект. Какие разрешения у этого объекта по умолчанию? Мы никогда не задаемся этим вопросом. А зря. Теперь в свете управления доступом к объекту необходимо уяснить, что по умолчанию создаваемый объект наследует разрешения от родительского (верхнего) каталога. Создавая новые объекты на диске без явного указания разрешений, мы тем самым предоставляем возможность выполнять те действия с этим объектом, которые определены для родительского объекта. По умолчанию, NTFS в Windows 2000 устанавливает разрешение "Полный доступ" для группы "Все" для корня диска. Отмечу некоторые исключения. Директория с установленной ОС имеет по умолчанию больше ограничений разрешений.

Если вы хотите изменить разрешения, которые наследуются, вы должны сначала очистить окошко 'Allow inheritable permissions from parent to propagate to this object' (Переносить наследуемые от родительских объектов разрешения на этот объект). Делая это, вы получите запрос, не желаете ли вы удалить все существующие разрешения, или скопировать все существующие разрешения (последнее передаст разрешения и просто применит их прямо к файлу или папке). В Windows XP эта функция доступна через вкладку «Разрешения», добраться до которой можно при нажатии на кнопку дополнительно. После того, как вы отключите наследование разрешений, через копирование, появится возможность отредактировать уже существующие разрешения, а также добавлять новые записи в ACL и определять разрешения. Если вы снимете наследования через удаление, то ACL изначально будет пуст. Вы сможете добавлять туда новые записи.

Специальные разрешения.

Заметьте, что все стандартные разрешения состоят из специальных дополнительных разрешений, которые могут быть просмотрены после нажатия на кнопку Advanced (дополнительно) на вкладке Security (безопасность) Свойств файла или папки. Действительно, мы не видим среди стандартных разрешений такого очевидного, как удаление. Понятно, что такое разрешение должно существовать. Для того чтобы разобраться, какие же очевидные разрешения предоставляют нам стандартные, давайте перейдем на вкладку «Разрешения». Здесь мы опять видим список управления доступом и разрешения для каждого пользователя. Также здесь отображается информация о том, наследуется это разрешение или установлено явно. Если мы выполним двойной щелчок по конкретной записи, то увидим список специальных разрешений, из которых и составляются стандартные разрешения. Функции специальных разрешений следующие:

 
Специальные разрешения
Разрешение Описание
Обзор папок / Выполнение файлов Для папок: «Обзор папок» разрешает или запрещает перемещение по структуре папок в поисках других файлов или папок, даже если пользователь не обладает разрешением на доступ к просматриваемым папкам (применимо только к папкам). Разрешение на обзор папок действительно только в том случае, если группа или пользователь не обладает правом Обход перекрестной проверки, устанавливаемым в оснастке «Групповая политика». (По умолчанию группа «Все» наделена правом Обход перекрестной проверки.) Для файлов: «Выполнение файлов» разрешает или запрещает запуск программ (применимо только к файлам). Разрешение «Обзор папок» для папки не означает автоматическую установку разрешения «Выполнение файлов» для всех файлов в этой папке
Содержание папки / Чтение данных «Содержание папки»: разрешает или запрещает просмотр имен файлов и подпапок, содержащихся в папке. Это разрешение относится только к содержимому данной папки и не означает, что имя самой этой папки также должно включаться в список (применимо только к папкам). «Чтение данных»: разрешает или запрещает чтение данных, содержащихся в файлах (применимо только к файлам)
Чтение атрибутов Разрешает или запрещает просмотр таких атрибутов файла или папки, как «Только чтение» и «Скрытый». Атрибуты определяются файловой системой NTFS
Чтение дополнительных атрибутов Разрешает или запрещает просмотр дополнительных атрибутов файла или папки. Дополнительные атрибуты определяются программами и могут различаться для разных программ
Создание файлов / Запись данных «Создание файлов»: разрешает или запрещает создание файлов в папке (применимо только к папкам). «Запись данных»: разрешает или запрещает внесение изменений в файл и запись поверх имеющегося содержимого (применимо только к файлам)
Создание папок / Дозапись данных «Создание папок»: разрешает или запрещает создание папок внутри папки (применимо только к папкам). «Дозапись данных»: разрешает или запрещает внесение данных в конец файла, но не изменение, удаление или замену имеющихся данных (применимо только к файлам)
Запись атрибутов Разрешает или запрещает смену таких атрибутов файла или папки, как «Только чтение» и «Скрытый». Атрибуты определяются файловой системой NTFS. Разрешение «Запись атрибутов» не подразумевает права на создание или удаление файлов или папок: разрешается только вносить изменения в их атрибуты. Сведения о том, как разрешить (или запретить) операции создания и удаления, см. в описаниях разрешений Создание файлов / Запись данных, Создание папок / Дозапись данных, Удаление подпапок и файлов и Удаление
Запись дополнительных атрибутов Разрешает или запрещает смену дополнительных атрибутов файла или папки. Дополнительные атрибуты определяются программами и могут различаться для разных программ. Разрешение «Запись дополнительных атрибутов» не подразумевает права на создание или удаление файлов или папок: разрешается только вносить изменения в их атрибуты. Сведения о том, как разрешить (или запретить) операции создания и удаления, см. в описаниях разрешений Создание файлов / Запись данных, Создание папок / Дозапись данных, Удаление подпапок и файлов и Удаление
Удаление подпапок и файлов Разрешает или запрещает удаление подпапок и файлов даже при отсутствии разрешения «Удаление» (применимо только к папкам)

Write (Писать)
Удаление Разрешает или запрещает удаление файла или папки. Если для файла или папки отсутствует разрешение «Удаление», объект все же можно удалить при наличии разрешения «Удаление подпапок и файлов» для родительской папки
Чтение разрешений Разрешает или запрещает чтение таких разрешений на доступ к файлу или папке, как «Полный доступ», «Чтение» и «Запись»
Смена разрешений Разрешает или запрещает смену таких разрешений на доступ к файлу или папке, как «Полный доступ», «Чтение» и «Запись»
Смена владельца Разрешает или запрещает вступать во владение файлом или папкой. Владелец файла или папки всегда может изменять разрешения на доступ к ним независимо от любых разрешений, защищающих этот файл или папку
Синхронизация Определяет возможность потоков переходить в состояние ожидания на обработчике данного файла или каталога и синхронизироваться с другими потоками, запрашивающими синхронизацию. Данное разрешение относится только к многопотоковым и многопроцессовым приложениям

Вы можете наблюдать появление флажков напротив специальных разрешений, если установите флажок на каком-либо стандартном разрешении.

Разрешения для файлов и папок Полный доступ, Изменение, Чтение и выполнение, Список содержимого папки, Чтение и Запись представляют собой логическую группу особых разрешений. Набор специальных разрешений для каждого стандартного приведен ниже:

 
Комбинации разрешений
Особые разрешения Полный доступ Изменение Чтение и выполнение Список содержимого папки (только для папок) Чтение Запись
Обзор папок/Выполнение файлов x x x x

Содержание папки/Чтение данных x x x x x
Чтение атрибутов x x x x x
Чтение дополнительных атрибутов x x x x x
Создание файлов/Запись данных x x


x
Создание папок/Дозапись данных x x


x
Запись атрибутов x x


x
Запись дополнительных атрибутов x x


x
Удаление подпапок и файлов x




Удаление x x



Чтение разрешений x x x x x x
Смена разрешений x




Смена владельца x




Хотя разрешения «Список содержимого папки» и «Чтение и выполнение» включают в себя одни и те же особые разрешения, они наследуются по-разному. Разрешение «Список содержимого папки» наследуется только папками, но не файлами, и отображается только при просмотре разрешений на доступ к папкам. Разрешение «Чтение и выполнение» наследуется как файлами, так и папками, и всегда отображается при просмотре разрешений на доступ к файлам или папкам.

Здесь мы видим среди интуитивно понятных разрешений некоторые не столь очевидные. Например, такое действие, как удаление нам хорошо известно. А вот такие действия, как Чтение разрешений, Смена разрешений, Смена владельца доступны нам только при использовании NTFS. Действительно, ведь устанавливая разрешения на объект, мы производим с ним некие действия. Соответственно, эти действия также можно разрешать или запрещать. Эти вещи были совсем не очевидны при использовании файловой системы FAT.

Понятно, что наличие права смены разрешений позволяет нам настраивать список управления доступом. Предоставив кому-либо такое разрешение, мы тем самым даем пользователю возможность выставить любой уровень доступа для себя и других пользователей.

Понятие "Владелец объекта".

А что же изначально определяет наше право смены разрешений? Здесь мы подходим к очень важному понятию. Это понятие владения объектом. Создавая объект, пользователь тем самым становится его владельцем. Будучи владельцем объекта, пользователь получает право установления разрешения на этот объект, даже если в явном виде право смены разрешений для этого пользователя не установлено. Мало того, в случае если в явном виде пользователю запрещены любые действия с объектом, но он является его владельцем, у него все равно остается право смены разрешений. Как вы видели в таблице, существует специальное право взятия во владение. Это право входит в состав стандартного разрешения «Полный доступ». Соответственно, если у пользователя есть разрешение «Полный доступ» или смена владельца, то он может стать владельцем объекта. Косвенно он также может стать владельцем объекта, если имеет на него право смены разрешений. Для этого ему нужно будет добавить себе разрешение смены владельца.

Практически смена владельца реализуется через вкладку «Владелец». На этой вкладке можно видеть текущего владельца и, естественно, свою учетную запись. Можно сразу заменить владельца вложенных объектов. Для этого необходимо установить флажок против соответствующей записи. Естественно, на внутренние объекты также необходимо иметь право смены владельца.

 Член группы "Администраторы" может установить владельцем объекта группу "Администраторы".

Есть интересная особенность или, скажем, исключение. Администратор или член группы Администраторы вправе стать владельцем любого объекта, даже не имея явных разрешений на этот объект.При этом в сообщении будет сказано, что он все равно может стать его владельцем. После взятия объекта во владение, Администратор может установить на него требуемые разрешения. Эта возможность важна, когда к файлам пользователя необходимо получить доступ несмотря ни на что (Например, сотрудник уволился).

А что же нравственная сторона этого вопроса. Пользователь беззащитен против неограниченной власти администратора? С одной стороны, это кажется не логичным, так как Администратор может произвести любые действия над объектом пользователя, в том числе, злонамеренные. С другой стороны, после взятия во владение, запись о новом владельце остается вместе с объектом. В этом случае пользователь вправе предъявить претензии Администратору. Нет обратного механизма передачи владения. Можно стать владельцем объекта, но нельзя передать объект во владение. Таким образом, Администратор возьмет на себя такую ответственность как минимум с разрешения руководства. Это нужно четко себе представлять.

Управление ACL из командной строки.

Настраивать список управления доступом можно и из командной строки с помощью команды cacls.

Категория: Настройки | Просмотров: 4884 | Добавил: AinCross | Теги: ACL, права пользователя, управление доступом | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Регистрация
Поиск
Пользовательский поиск
Реклама
Архив записей
Календарь
«  Апрель 2011  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Считалки
Яндекс.Метрика

Онлайн всего: 1
Гостей: 1
Пользователей: 0