Файловая система NTFS используется в Windows с незапамятных времен. Если быть точнее, то первая версия NTFS появилась еще в Windows NT 3.1, в далеком 1993 году. Но не смотря на свой солидный возраст, NTFS до сих пор является основной файловой системой в Windows и замены ей пока не предвидится. NTFS поддерживает множество полезных функций, одной из которых является система разграничения доступа к данным с использованием списков контроля доступа (access control list, ACL). О том, как грамотно настраивать разрешения на файлы и папки в файловой системе NTFS и пойдет сегодня речь.
Для начала немного теории.
Информация обо всех объектах файловой системы NTFS, расположенных на томе, хранится в главной таблице файлов (Master File Table, MFT). Каждому файлу или папке соответствует запись в MFT, в которой содержится специальный дескриптор безопасности (Secirity Descriptor). Дескриптор безопасности включает в себя два списка ACL:
• System Access Control List (SACL) — системный список контроля доступа. Используется в основном для аудита доступа к объектам файловой системы;
• Discretionary Access Control List (DACL) — дискретный (избирательный) список контроля доступа. Именно этот список формирует разрешения файловой системы, с помощью которых происходит управление доступом к объекту. В дальнейшем говоря ACL мы будем иметь в виду именно DACL.
Каждый список ACL содержит в себе набор записей контроля доступа (Access Control Entry, ACE). Каждая запись включает в себя следующие поля:
• Идентификатор безопасности (SID) пользователя или группы, к которым применяется данная запись;
• Маска доступа, определяющая набор разрешений на данный объект;
• Набор флагов, определяющих, могут ли дочерние объекты наследовать данную ACE;
• Тип ACE (разрешение, запрет или аудит).
Примечание. Если в дескрипторе безопасности отсутствует ACL, то объект считается незащищенным и получить к нему доступ могут все желающие. Если же ACL есть, но в нем отсутствуют ACE, то доступ к объекту закрыт для всех.
И коротко о том, как происходит доступ к объекту, защищенному ACL. При входе пользователя в систему подсистема безопасности собирает данные о его учетной записи и формирует маркер доступа (access token). Маркер содержит идентификатор (SID) пользователя и идентификаторы всех групп (как локальных, так и доменных), в которые пользователь входит. И когда пользователь запрашивает доступ к объекту, информация из маркера доступа сравнивается с ACL объекта и на основании полученной информации пользователь получает (или не получает) требуемый доступ.
Закончим с теорией и перейдем к практике. Для издевательств создадим в корне диска C папку RootFolder.
Базовые разрешения
Для управления разрешениями мы будем использовать встроенные средства проводника. Для того, чтобы добраться до ACL, в проводнике выбираем папку, кликаем на ней правой клавишей мыши и в открывшемся контекстном меню выбираем пункт Properties (Свойства).
Затем переходим на вкладку Security (Безопасность), на которой отображаются текущие разрешения. Вот это собственно и есть ACL папки (в слегка сокращенном виде) — сверху пользователи и группы, снизу их разрешения. Обратите внимание, что вместо SID-а в таблице отображаются имена. Это сделано исключительно для удобства пользователей, ведь сама система при определении доступа оперирует идентификаторами. Поэтому, к примеру, невозможно восстановить доступ к файлам удаленного пользователя, создав нового пользователя с таким же именем, ведь новый пользователь получит новый SID и будет для операционной системы абсолютно другим пользователем.
Для перехода к редактированию разрешений надо нажать кнопку «Edit».
В качестве примера я выдам права на папку пользователю Kirill (т.е. себе). Первое, что нам надо сделать — это добавить нового пользователя в список доступа. Для этого жмем кнопку «Add»
выбираем нужного пользователя и жмем ОК.
Пользователь добавлен и теперь надо выдать ему необходимые разрешения. Но перед этим давайте рассмотрим поподробнее основные (базовые) разрешения файловой системы:
• List Folder Contents (Просмотр содержимого директории) — позволяет зайти в папку и просмотреть ее содержимое;
• Read (Чтение) — дает право на открытие файла\папки на чтение, без возможности изменения;
• Read & execute (Чтение и выполнение) — позволяет открывать файлы на чтение, а также запускать исполняемые файлы;
• Write (Запись) — разрешает создавать файлы\папки и редактировать файлы, без возможности удаления;
• Modify (Изменение) — включает в себя все вышеперечисленные разрешения. Имея разрешение Modify можно создавать, редактировать и удалять любые объекты файловой системы;
• Full Control (Полный доступ) — включает в себя разрешение Modify, кроме того позволяет изменять текущие разрешения объекта.
При добавлении пользователя в список доступа ему автоматически выдаются права на чтение и запуск.
Я воспользуюсь служебным положением 🙂 и выдам себе полный доступ на папку. Для этого надо отметить соответствующий чекбокс и нажать OK.
Дополнительные разрешения
Базовые разрешения файловой системы не дают достаточной гибкости при управлении доступом, поэтому для более тонкой настройки используются дополнительные (расширенные) разрешения. Кстати, определить их наличие можно по наличию галки в строке Special Permissions (Специальные разрешения).
Для редактирования расширенных разрешений надо нажать кнопку «Advanced», после чего мы попадем в окно Advanced Security Settings (Дополнительные параметры безопасности).
Здесь выбираем пользователя и жмем кнопку «Edit».
В открывшемся окне мы увидим все те же базовые разрешения, а для перехода к расширенным надо перейти по ссылке Show advanced permissions (Отображение дополнительных разрешений).
Как видите, здесь разрешений гораздо больше, и настраиваются они детальнее. Вот полный список расширенных разрешений файловой системы:
• Traverse folder / execute file (Траверс папок / Выполнение файлов) — траверс в переводе означает проход, соответственно данное разрешение позволяет пройти внутрь папки и запустить в ней исполняемый файл. При этом зайти внутрь папки и просмотреть ее содержимое нельзя, а файлы внутри доступны только по прямой ссылке. Таким образом можно выдать права на конкретные файлы внутри, при этом не давая никаких прав на саму папку. Обратите внимание, что данное разрешение не устанавливает автоматически разрешения на выполнение для всех файлов в папке;
• List folder /read data (Содержимое папки / чтение данных) — право просматривать содержимое папки, без возможности изменения. Открывать или запускать файлы внутри папки тоже нельзя;
• Read attributes (Чтение атрибутов) — дает право просматривать основные атрибуты файлов (Read-only, System, Hidden и т.п.);
• Read extended attributes (Чтение расширенных атрибутов) — дает право просматривать дополнительные (расширенные) атрибуты файлов. Про расширенные атрибуты известно не очень много. Изначально они были добавлены в Windows NT для совместимости с OS/2 и на данный момент практически не используются. Тем не менее их поддержка присутствует в Windows до сих пор. Для работы с расширенными атрибутами в Windows готовых инструментов нет, но есть сторонняя утилита ea.exe, позволяющая добавлять, удалять и просматривать эти самые атрибуты;
• Create files / write data (Создание файлов / запись данных) — это разрешение дает пользователю право создавать файлы в папке, не имея прав доступа к самой папке. Т.е. можно копировать в папку файлы и создавать новые, но нельзя просматривать содержимое папки и открывать\изменять уже имеющиеся файлы. После добавления пользователь уже не сможет изменить файл, даже будучи его владельцем;
• Create folders / append data (Создание папок / добавление данных) — пользователь может создавать новые подпапки в текущей папке, а также добавлять данные в конец файла, при этом не изменяя уже имеющееся содержимое;
• Write attributes (Запись атрибутов) — дает право изменять практически все стандартные атрибуты файлов и папок, кроме атрибутов сжатия и шифрования. Дело в том, что для функций сжатия и шифрования требуется намного большие полномочия в системе, чем предоставляет данное разрешение. Если точнее, то для включения сжатия или шифрования необходимы права локального администратора;
• Write extended attributes (Запись расширенных атрибутов) — позволяет производить запись расширенных атрибутов файловой системы. Как я говорил выше, атрибуты эти почти не используются, однако есть исключения. В расширенные атрибуты файла можно записывать произвольные данные, чем пользуются некоторые вредоносные программы;
• Delete subfolders and files (Удаление подпапок и файлов) — позволяет удалять папки и файлы внутри родительской папки, при этом саму родительскую папку удалить нельзя;
• Delete (Удаление) — тут все просто, имея данное разрешение можно удалять все что душа пожелает. Но для удаления объекта кроме Delete необходимо иметь разрешение List folder /read data, иначе удалить ничего не получится;
• Read permissions (Чтение разрешений) — позволяет просматривать текущие разрешения файла\папки. Не позволяет открывать на чтение сам файл;
• Change permissions (Изменение разрешений) — дает пользователю право изменять текущие разрешения. Формально это разрешение не дает никаких прав на сам объект, однако по сути предоставляет к нему неограниченный доступ;
• Take ownership (Смена владельца) — данное разрешение позволяет сменить владельца файла или папки. О том, кто такой владелец, речь пойдет чуть позже.
Для примера отберем у пользователя только права на удаление, но оставим все остальные. Обратите внимание, что все разрешения зависят друг от друга и при добавлении\снятии одной галки могут добавляться\сниматься другие. Так при снятии разрешения Delete снимается Full Control.
Отзыв разрешений
Как выдавать разрешения мы выяснили, теперь о том, как их отбирать. Тут все просто, достаточно удалить пользователя или группу из списка и доступ автоматически пропадает. В качестве примера отберем доступ к папке у пользователя Kirill. Для этого откроем базовые разрешения, выберем нужного пользователя и нажмем кнопку «Remove».
Проверим, что пользователь удалился из списка
и попробуем зайти в папку. Поскольку у пользователя больше нет никаких разрешений, то получаем отказ в доступе.
Явный запрет
Как вы наверняка знаете, в файловой системе кроме разрешающих правил (Allow) есть еще и запрещающие (Deny). Однако явные запреты используются достаточно редко, поскольку для управления доступом вполне хватает обычных разрешений. Более того, запреты не рекомендуется использовать без крайней необходимости.
Дело в том, что запрещающие правила всегда имеют приоритет над разрешающими, поэтому при их использовании возможно возникновение конфликтов доступа. Например, если пользователь входит в две группы, у одной из которых есть разрешение на доступ к папке, а у второй явный запрет, то сработает запрет и пользователю будет отказано в доступе.
Однако бывают ситуации, в которых применение запретов может быть оправдано. К примеру, одному пользователю необходимо запретить доступ к папке. При этом он входит в группу, имеющую разрешения на доступ. Отобрать доступ у всей группы нельзя, поскольку в нее входят другие пользователи, которым доступ положен. Убрать пользователя из группы тоже нельзя, поскольку кроме доступа к папке она обеспечивает и другие разрешения, которые должны остаться. В такой ситуации единственным выходом остается только явный запрет на доступ для данного пользователя.
Запрещающие правила настраиваются аналогично разрешающим — заходим в настройки безопасности, выбираем пользователя\группу и проставляем нужные галки. Для примера запретим полный доступ к папке для пользвателя NoAccess.
Кстати, при использовании запретов система обязательно выдаст предупреждение и даже приведет пример.
В результате при наличии явного запрета пользователь получит такой же отказ в доступе, как и при отсутствии разрешений. Разве что сообщение немного отличается.
Как видите, в использовании запретов нет ничего страшного, хотя, на мой взгляд, это является показателем некоторой некомпетентности. Ведь при грамотно организованной структуре прав доступа в них не должно быть необходимости.
Наследование
Наследование (Inheritance) — это один из наиболее важных моментов, о которых нужно знать при работе с файловой системой. Суть наследования заключается в том, что каждый объект файловой системы (файл или папка) при создании автоматически наследует разрешения от ближайшего родительского объекта.
Давайте проверим на практике, как работает правило наследования. Для лучшей наглядности я создал структуру папок, состоящую из нескольких уровней. На верхнем уровне находится корневая папка RootFolder, в ней расположена подпапка SubFolder, в которую вложена подпапка SubSubFolder.
Для начала проверим разрешения корневой папки. Для этого перейдем к расширенным свойствам безопасности и посмотрим на текущие разрешения. В таблице разрешений присутствует столбец Inherited from (Унаследовано от), из которого можно узнать, какие разрешения являются унаследованным и от кого они унаследованы. Как видите, большинство разрешений папка унаследовала от диска C, на котором она расположена. Единственное не унаследованное разрешение — это разрешение для пользователя Kirill, которое было добавлено вручную.
Теперь копнем поглубже и перейдем к свойствам папки SubSubFolder. Здесь уже все разрешения являются унаследованными, но от разных объектов. Разрешения пользователя Kirill получены от корневой папки RootFolder, остальные наследуются от диска C. Из этого можно сделать вывод, что наследование является сквозным и работает независимо от уровня вложенности объекта. Корневая папка наследует разрешения от диска, дочерняя папка наследует разрешения от родительской, файлы наследуют разрешения от папки, в которой находятся.
Это свойство наследования очень удобно использовать для назначения прав на большие файловые ресурсы. Достаточно определить права на корневую папку и они автоматически распространятся на все нижестоящие папки и файлы.
Разрешения, наследуемые от вышестоящих объектов, называются неявными (implicit), а разрешения, которые устанавливаются вручную — явными (explicit). Явные разрешения всегда имеют приоритет над унаследованными, из чего вытекают следующие правила:
• Запрет имеет более высокий приоритет над разрешением;
• Явное разрешение имеет более высокий приоритет, чем неявное.
И если расположить приоритеты разрешений в порядке убывания, то получится такая картина:
1. Явный запрет
2. Явное разрешение;
3. Неявный запрет;
4. Неявное разрешение.
Т.е. если у пользователя одновременно имеется и разрешающее, и запрещающее правило, то подействует запрет. Но если запрет унаследован, а разрешение назначено вручную, то тут уже победит разрешающее правило. Проверим 🙂
Для примера запретим пользователю Kirill доступ к корневой папке RootFolder, но выдадим ему доступ к дочерней папке SubSubFolder. Получается, что у пользователя на папку SubSubFolder имеется унаследованный запрет и явно выданное разрешение.
В результате пользователь может зайти в саму папку SubSubFolder, т.е. явное разрешение победило. А вот при попытке подняться выше будет получена ошибка, сработает унаследованный запрет.
Кроме плюсов наследование имеет и свои минусы. Так изменить или удалить унаследованные разрешения невозможно, при попытке вы получите ошибку. Поэтому для их изменения сначала необходимо отключить наследование.
Для этого надо в расширенных настройках безопасности выбранного объекта нажать кнопку Disable inheritance (Отключить наследование) и выбрать один из двух вариантов:
• Convert inherited permissions into explicit permissions on this object (Преобразовать унаследованные от родительского объекта разрешения и добавить их в качестве явных разрешений для этого объекта);
• Remove all inherited permissions from this object (Удалить все унаследованные разрешения с этого объекта).
В первом варианте унаследованные разрешения остаются на месте, но становятся явными и их можно изменять и удалять.
Во втором — все унаследованные разрешения просто удаляются, остаются только явные (если они есть). Если же у объекта не было явных разрешений, то он станет бесхозным и ни у кого не будет к нему доступа. Впрочем, при необходимости наследование легко включить обратно, надо всего лишь нажать на кнопку Enable inheritance (Включить наследование).
Отключение наследования позволяет более детально настраивать разрешения для дочерних объектов. Однако может быть и обратная ситуация, когда на всех дочерних объектах надо убрать созданные вручную разрешения и заменить их на разрешения, наследуемые от родительского объекта. Сделать это просто, достаточно лишь отметить чекбокс Replace all child object permission entries with inheritable permission enntries from this object (Заменить все дочерние разрешения объекта на разрешения, наследуемые от этого объекта) и нажать «Apply».
При включенном наследовании область действия унаследованных разрешений можно ограничивать, тем самым добиваясь большей гибкости при настройке разрешений. Для настройки надо перейти к разрешениям конкретного пользователя\группы и указать, на какие именно дочерние объекты должны распространяться данные разрешения:
• This folder only — разрешения распространяются только на родительскую папку, не включая ее содержимое. Т.е. к файлам и папкам, находящиеся внутри данной папки, доступа нет. Не смотря на кажущуюся бесполезность данная настройка довольно часто используется. К примеру, для корневой папки мы выдаем разрешение для всех на просмотр содержимого, но ограничиваем глубину просмотра, а уже внутри папки настраиваем права так, как нам нужно. Соответственно пользователь может зайти в папку, осмотреться и выбрать нужный ему объект. Такой подход очень удобно использовать вместе с технологией Access Based Enumeration;
• This folder, subfolders and files — разрешения распространяются на папку включая все находящиеся в ней папки и файлы. Это выбор по умолчанию;
• This folder and subfolders — разрешения распространяются на родительскую папку и подпапки, не включая файлы. Т.е. к файлам, находящимся внутри данной папки и ее подпапок, доступа нет;
• This folder and files — здесь разрешения распространяются на саму папку и находящиеся в ее корне файлы. Если в родительской папке есть дочерние папки, то к ним и их содержимому доступа нет;
• Subfolders and files only — разрешения распространяются на все файлы и папки, находящиеся внутри родительской папки, но не дают доступ к самой папке;
• Subfolders only — разрешения распространяются только на подпапки, находящиеся в данной папке. На родительскую папку, а также на файлы, находящиеся внутри родительской папки и дочерних папок разрешений нет;
• Files only — разрешения распространяются на все файлы, находящиеся внутри родительской папки и дочерних папок. На родительскую папку и подпапки разрешений нет.
Данные ограничения в сочетании с расширенными разрешениями позволяют очень гибко настраивать права доступа к файлам. Для примера выдадим пользователю полный доступ к корневой папке, но установим ограничение This folder and subfolders, которое дает доступ ко всем дочерним папкам. И действительно, мы можем зайти в папку, пройти вглубь в подпапку Subsubfolder и даже посмотреть ее содержимое, а вот произвести какие либо действия с файлами у нас не получится.
Кроме определения области действия есть еще один способ ограничить наследование. Для этого надо отметить чекбокс Only apply these permissions to object and/or containers within this container (Применить данные разрешения для объектов внутри этого контейнера). Действие этого чекбокса ограничивает наследование только дочерними объектами и только данного объекта, т.е. при включении этой опции вне зависимости от выбранной области действия разрешения будут распространяться только на находящиеся в корне родительской папки файлы и папки.
Владелец
Вот мы и добрались до понятия владелец (Owner). Изначально владельцем объекта является пользователь, этот объект создавший. Что более важно, владелец имеет полный, никем и ничем не ограниченный доступ к объекту, и лишить его этого доступа достаточно сложно. Даже если владельца вообще нет в списке доступа и он не имеет никаких прав на объект, все равно он может легко это исправить и получить полный доступ.
Для примера удалим из списка доступа папки RootFolder всех ″живых″ пользователей и группы, оставим доступ только системе. Как видите, пользователь Kirill не имеет абсолютно никаких разрешений на папку, но при этом является ее владельцем.
Теперь зайдем в систему под этим пользователем, откроем проводник и попробуем зайти в папку. Доступа к папке конечно же нет, о чем сказано в предупреждении, но при этом предлагается продолжить открытие папки.
Соглашаемся на предложение, жмем кнопку «Continue» и спокойно открываем папку. А если теперь проверить разрешения, то мы увидим, что пользователь Kirill появился в списке и у него полный доступ. Дело в том, что если пользователь является владельцем папки, то при попытке доступа разрешения добавляются автоматически.
То, что владелец всегда может получить доступ к объекту, это понятно. А кто может стать владельцем? По умолчанию право сменить владельца (Take ownership) имеют члены группы локальных администраторов. Для примера отберем права владельца на папку RootFolder у пользователя Kirill. Затем заходим в расширенные свойства безопасности папки и видим, что пользователь неизвестен. Но Kirill входит в группу администраторов на компьютере и значит может вернуть себе владение папкой. Для получения прав владельца сразу жмем на кнопку «Change» или сначала на кнопку «Continue».
При нажатии на «Continue» окно откроется с правами администратора, а также вы получите небольшую подсказку, но затем все равно придется жать на кнопку «Change»
Дальше все просто, выбираем нужного пользователя (или группу), подтверждаем свой выбор
жмем OK
и становимся владельцем. Ну а став владельцем, мы сразу увидим текущие разрешения объекта и сможем их изменять.
Смена владельца корневой папки не означает автоматическую смену владельца у дочерних файлов\папок. Для смены владельца всех объектов внутри надо отметить чекбокс Replace owner on subcontainers and objects (Сменить владельца у подконтейнеров и объектов) и нажать «Apply».
Что интересно, при смене владельца дочерних объектов заменяются и их текущие разрешения.
В результате Kirill становится не только владельцем, но и единственным имеющим разрешения пользователем.
Какие из всего этого можно сделать выводы? Первое — владелец объекта всегда может получить к нему доступ, независимо от текущих разрешений. Второе — администратор компьютера может сменить владельца любого объекта файловой системы и, соответственно, получить к нему доступ. Если же речь идет о сети предприятия, то доменные администраторы могут получить доступ к любому файловому ресурсу в пределах своего домена. Вот так)
Просмотр текущих разрешений
Как вы уже поняли, структура разрешений файловой системы может быть весьма сложной и запутанной. Особенно это касается файловых ресурсов общего доступа, в которых разрешения назначаются не отдельным пользователям, а группам. В результате определить разрешения для отдельно взятого пользователя становится достаточно сложной задачей, ведь надо определить все группы, в которые входит пользователь, а уже затем искать эти группы в списке доступа. Ну а группы могут иметь в качестве членов другие группы, да и пользователь как правило входит не в одну группу, и зачастую эти группы имеют различные разрешения на один о тот же объект.
К счастью в Windows есть способ просто и быстро определить, какие именно разрешения имеет конкретный пользователь на данный объект файловой системы. Для этого надо в окне расширенных свойств безопасности перейти на вкладку Effective Access (Действующие разрешения), нажать на ссылку Select a user (Выбрать пользователя) и найти нужного пользователя или группу.
Затем жмем на кнопку View effective access (Просмотр действующих разрешений) и получаем полный список разрешений, которые имеет выбранный пользователь на данный объект. В списке присутствуют все текущие разрешения пользователя, как полученные им непосредственно, так и назначенные на группы, в которые он входит. Это особенно актуально для системных администраторов, которым регулярно приходится разбираться с отсутствием доступа у пользователей.
Заключение
В данной статье я описал только наиболее важные моменты, которые нужно знать при работе с разрешениями файловой системы. В качестве заключения несколько правил, которые могут помочь при работе с разрешениями:
• По возможности выдавать разрешения не отдельным пользователям, а группам. Это позволяет один раз настроить все необходимые разрешения и больше не возвращаться к их редактированию, а права доступа назначать путем добавления пользователя в соответствующие группы;
• Стараться по максимуму использовать свойства наследования. Это может значительно сэкономить время, расходуемое на управление разрешениями;
• Не использовать явные запреты без крайней необходимости. Использование запретов очень сильно усложняет схему доступа, а в некоторых случаях может привести к конфликтам;
• Перед раздачей слонов разрешений, необходимо четко определиться с тем, какие именно действия пользователь\группа будет производить с файлами (читать, редактировать, создавать новые файлы\папки или выдавать разрешения) и исходя из этого назначить минимально необходимые для работы разрешения. Проще говоря, если пользователю требуется открыть файл и прочесть его, то не надо давать ему полный доступ на всю папку;
• При копировании или перемещении файлов надо помнить о том, что разрешения сохраняются только в пределах текущего логического диска (или тома). Подробнее о сохранении разрешений при копировании можно почитать здесь;
• Для облегчения управления доступом к файловым ресурсам общего доступа можно использовать дополнительные технологии, облегчающие жизнь администратора. Так технология Access Based Enumeration позволяет пользователю видеть только те объекты, к которым у него есть доступ, технология Access Denied Assistance вместо отказа в доступе выдает осмысленное сообщение и позволяет пользователю обратиться к администратору или владельцу ресурса с запросом через специальную форму. Можно еще упомянуть Dynamic Access Control, хотя это уже отдельная большая тема.
Lets try two more ways to show the permissions:
icacls.exe:
NT AUTHORITY\Authenticated Users:(CI)(W,Rc)
Get-Acl:
NT AUTHORITY\Authenticated Users Allow Write, ReadPermissions, Synchronize
Your second and third screenshot actually show very similar permissions, the third one being the most precise.
I think the Write
permissions should also be shown in the first screenshot, this may be a bug, but permissions can be complicated.
About Read:
on the first two screenshops Read
means being able to read the contents of the file/folder, on the third screenshot they list advanced permissions, Read permissions
means being able to read the NTFS permissions of the object, not the content itself.
These are two different things.
Специальные разрешения окон — это особая функциональность, которая позволяет веб-разработчикам получить доступ к некоторым привилегиям и функциям веб-браузера пользователя. Эти разрешения позволяют создавать мощные веб-приложения, которые могут взаимодействовать с операционной системой пользователя и выполнять различные задачи, недоступные обычным веб-страницам.
Возможности, предоставляемые специальными разрешениями окон, включают доступ к локальному хранилищу, управление файлами, обнаружение и управление устройствами, доступ к камере и микрофону, работу с оповещениями и многое другое. При использовании этих разрешений веб-приложения могут предоставить более богатый и интерактивный опыт для пользователей, расширить функциональность и возможности своих приложений.
Однако, использование специальных разрешений окон требует осторожности и осведомленности. Разрешения, предоставляемые браузером, должны быть использованы с осторожностью, чтобы не нарушать приватность и безопасность пользователей. Пользоваться ими следует только в тех случаях, когда это действительно необходимо и используется в правильных целях.
В данной статье мы рассмотрим некоторые из наиболее популярных специальных разрешений окон и расскажем, как их использовать в веб-разработке. Мы также обсудим некоторые передовые технологии и примеры использования, чтобы помочь вам лучше понять, как использовать специальные разрешения окон в своих проектах.
Содержание
- Что такое специальные разрешения в Windows и как их использовать?
- Предоставление специальных разрешений
- Как использовать специальные разрешения в Windows
- Возможности специальных разрешений в Windows
- Примеры использования специальных разрешений
Что такое специальные разрешения в Windows и как их использовать?
Специальные разрешения в Windows представляют собой расширенные права доступа к файлам и папкам операционной системы. Они позволяют пользователю выполнять определенные действия, которые не доступны при обычных разрешениях.
Специальные разрешения могут быть назначены для конкретного пользователя или группы пользователей и позволяют изменять такие параметры доступа, как чтение, запись, выполнение и удаление файлов и папок. Кроме того, специальные разрешения позволяют настраивать атрибуты безопасности и ограничивать доступ к определенным системным ресурсам.
Использование специальных разрешений может быть полезно в ситуациях, когда необходимо предоставить дополнительные права доступа для определенных пользователей. Например, это может понадобиться для установки программного обеспечения или редактирования системных файлов.
Чтобы назначить специальные разрешения в Windows, необходимо выполнить следующие шаги:
- Открыть свойства файла или папки, для которых требуется настроить разрешения;
- Перейти на вкладку «Безопасность» и нажать кнопку «Редактировать»;
- Выбрать пользователя или группу, для которых требуется настроить разрешения;
- Выбрать необходимые разрешения в списке доступных параметров;
- Нажать кнопку «Применить» и закрыть окно свойств файла или папки.
Важно помнить следующие моменты при использовании специальных разрешений:
- Назначение специальных разрешений следует выполнять осторожно, так как неправильная настройка может привести к неполадкам в работе операционной системы;
- Специальные разрешения имеют больший приоритет перед обычными разрешениями. Это означает, что если пользователь имеет специальное разрешение, оно будет применяться, даже если он не имеет аналогичного обычного разрешения;
- Изменение специальных разрешений может потребовать административных прав доступа.
В заключение, специальные разрешения в Windows представляют собой мощный инструмент для настройки прав доступа к файлам и папкам операционной системы. Использование специальных разрешений позволяет точно определить права доступа для определенных пользователей или групп, что обеспечивает более гибкое управление системой и повышает ее безопасность.
Предоставление специальных разрешений
В Windows существует возможность предоставления специальных разрешений, которые позволяют приложениям выполнить определенные действия с повышенными привилегиями. Эти разрешения могут быть полезны в случаях, когда приложению не хватает стандартных прав доступа.
Одним из способов предоставить специальные разрешения является использование механизма User Account Control (UAC), который позволяет пользователям выполнить задачи, требующие повышенных привилегий, с администраторскими правами. Например, такие задачи включают установку программ, изменение системных настроек и другие операции, которые могут повлиять на работу операционной системы.
В Windows также существуют различные типы специальных разрешений, которые можно предоставить приложению. Некоторые из них включают:
- разрешение на работу с файлами и папками, находящимися в защищенной области операционной системы;
- разрешение на чтение или запись в системный реестр;
- разрешение на запуск процессов с повышенными привилегиями;
- разрешение на доступ к защищенным системным ресурсам, таким как сетевые устройства или USB-порты.
Для предоставления специальных разрешений в Windows можно использовать API, такие как Windows API или .NET Framework. Эти API предоставляют различные функции и классы, которые позволяют разработчикам работать с разрешениями и выполнять необходимые действия с повышенными привилегиями.
Предоставление специальных разрешений требует особой осторожности, поскольку неправильное использование этих разрешений может привести к возникновению уязвимостей или других проблем в системе. Поэтому важно тщательно проверять код и убедиться, что он безопасен перед предоставлением специальных разрешений приложению.
Как использовать специальные разрешения в Windows
Специальные разрешения в Windows позволяют пользователю получить дополнительные привилегии и доступ к определенным системным функциям. Это может пригодиться, если вы хотите выполнить определенные задачи, требующие повышенных прав доступа.
Для использования специальных разрешений в Windows, вам необходимо быть администратором или иметь соответствующие административные привилегии. В противном случае вы не сможете изменять или управлять разрешениями.
Чтобы получить доступ к специальным разрешениям, вам потребуется открыть «Панель управления» и перейти в раздел «Учетные записи и защита». Затем выберите «Управление учетными записями» и выберите нужную учетную запись, для которой хотите изменить разрешения. Щелкните правой кнопкой мыши на выбранной учетной записи и выберите «Свойства».
В окне свойств учетной записи найдите вкладку «Расширенные» и щелкните на нее. В разделе «Разрешения» вы увидите список специальных разрешений, доступных для данной учетной записи.
Чтобы использовать специальное разрешение, отметьте соответствующую опцию в списке и нажмите кнопку «Применить». После этого выбранная функция или возможность будет доступна для учетной записи с заданным разрешением.
Будьте осторожны при использовании специальных разрешений, так как неправильное изменение разрешений может привести к непредсказуемым последствиям или нарушению безопасности системы. Перед внесением изменений рекомендуется ознакомиться с документацией Microsoft или проконсультироваться с опытным специалистом.
Возможности специальных разрешений в Windows
Специальные разрешения в операционной системе Windows предоставляют дополнительные возможности для управления и контроля над файлами и папками. Эти разрешения позволяют пользователю сделать такие вещи, которые обычно запрещены без соответствующих привилегий.
Одной из таких возможностей является полный доступ к файлам и папкам, который позволяет пользователю читать, записывать, изменять и удалять файлы на уровне системы. Это дает пользователям возможность выполнять операции, которые требуют повышенных привилегий, например, установку программ или изменение системных файлов.
Другим специальным разрешением является возможность выполнения файла с повышенными привилегиями, также известная как «запуск от имени администратора». При запуске файла с повышенными привилегиями, пользователь может выполнять задачи, требующие прав администратора, даже если он не является администратором компьютера.
Еще одним специальным разрешением является возможность изменения настроек безопасности. Обычно пользователи не имеют права изменять параметры безопасности системы, однако с соответствующими специальными разрешениями, они могут регулировать уровень безопасности компьютера, устанавливать правила файервола и т. д.
Специальные разрешения в Windows дают пользователям большую гибкость и возможности для работы с файлами и настройками системы. Однако их использование требует осторожности, поскольку неправильное использование разрешений может привести к потере данных, повреждению системы или возникновению других проблем.
Важно: При работе с специальными разрешениями, убедитесь, что вы знаете, что делаете, и имейте резервные копии важных данных, чтобы минимизировать риск потери данных или повреждения системы.
Примеры использования специальных разрешений
1. Разрешение на доступ к местоположению:
Специальное разрешение на доступ к местоположению может быть использовано в мобильных приложениях для предоставления геолокационных услуг, таких как карты, поиск заведений поблизости или навигация.
2. Разрешение на доступ к камере:
С помощью разрешения на доступ к камере приложение может позволить пользователям делать фотографии или записывать видео, что полезно для приложений социальных сетей, мессенджеров или видеочатов.
3. Разрешение на отправку уведомлений:
Разрешение на отправку уведомлений позволяет приложению выводить уведомления на экран устройства, даже когда оно не запущено. Это может быть полезно для мессенджеров, социальных сетей или приложений с напоминаниями.
4. Разрешение на доступ к контактам:
Специальное разрешение на доступ к контактам позволяет приложению читать и/или изменять контактную информацию на устройстве, что может быть полезно для приложений социальных сетей или мессенджеров.
5. Разрешение на доступ к микрофону:
Разрешение на доступ к микрофону используется в приложениях для записи звука или проведения голосовых звонков. Также может быть использовано в приложениях для распознавания речи или управления голосовыми командами.
6. Разрешение на доступ к файлам:
Разрешение на доступ к файлам позволяет приложению читать и/или записывать файлы на устройстве. Это может быть полезно для приложений для работы с документами, фотографиями или мультимедийным контентом.
7. Разрешение на доступ к сети:
Разрешение на доступ к сети позволяет приложению подключаться к интернету и использовать сетевые функции, такие как загрузка данных, отправка запросов или обновление контента.
8. Разрешение на отправку SMS или звонки:
Разрешение на отправку SMS или звонки используется в приложениях для отправки сообщений или совершения телефонных звонков. Такие разрешения могут быть полезными для мессенджеров или приложений телефонии.
9. Разрешение на использование Bluetooth:
Разрешение на использование Bluetooth позволяет приложению взаимодействовать с устройствами, поддерживающими эту технологию, например, для передачи данных или управления периферийным оборудованием.
10. Разрешение на использование NFC:
Специальное разрешение на использование NFC позволяет приложению читать или записывать данные с помощью бесконтактной технологии NFC, что полезно для приложений платежей, билетов или идентификации.
Windows 7 / Getting Started
Each basic permission is actually a set of special permissions. Because of this, whenever
you allow or deny a basic permission, Windows 7 works behind the scenes to manage
the related special permissions for you. Table below lists the special permissions related
to each basic permission.
Basic permissions and the related special permissions
Basic permission | Related special permissions |
---|---|
Read | List Folder/Read Data Read Attributes Read Extended Attributes Read Permissions Synchronize |
Read & Execute or List | All special permissions for Read listed previously Traverse Folder/Execute File |
Write | Create Files/Write Data Create Folders/Append Data Write Attributes Write Extended Attributes Read Permissions Synchronize |
Modify | All special permissions for Read listed previously All special permissions for Write listed previously Delete |
Full Control | All special permissions listed previously Delete Subfolders and Files Change Permissions Take Ownership |
Viewing and modifying existing special permissions
You can view and set special permissions for a file or a folder by completing the following steps:
- In Windows Explorer, right-click the file or folder you want to work with and then select Properties.
- In the Properties dialog box, select the Security tab and then click Advanced. In
the «Advanced Security Settings for» dialog box, the permissions are presented
much as they are on the Security tab. The key difference is that you now have
additional advanced options. - On the Permissions tab, click Change Permissions. This opens an editable view of
the Permissions tab in a new dialog box. - Click the existing user or group whose permissions you want to modify, and then
click Edit. This displays an editable «Permission Entry for» dialog box.
If any permissions are shaded (unavailable), they are being inherited
from a parent folder. You can override the inherited permission, if necessary, by
selecting the opposite permission, such as Deny rather than Allow. - To modify existing permissions, use the Allow and Deny columns in the Permissions
For list. Select checkboxes in the Allow column to add permissions, and clear
checkboxes to remove permissions. - To prevent a user or a group from using a permission, select the appropriate checkbox
in the Deny column. Denied permissions have precedence over other permissions. - Click OK to save your changes.
В данной статье речь пойдет о том, как действуют разрешения для папок и файлов, и о наиболее эффективных способах их применения
Для управления доступом пользователей к папкам и файлам используется детализированная и сложная система разрешений. Механизм управления доступом к объектам Windows — один из самых детализированных среди известных операционных систем. Для файлов и папок существует не менее 14 разрешений NTFS, которые могут быть включены или блокированы — и проверены. Эти разрешения можно назначать файлам или папкам и пользователям или группам. Кроме того, можно назначать порядок наследования разрешений для файлов или папок и пользователей или групп. В лабиринте разрешений легко заблудиться. .
Основы доступа к объектам
Пользователь никогда не входит в непосредственное «соприкосновение» с каким-либо объектом Windows. Весь доступ к объектам осуществляется через программы (например, Windows Explorer, Microsoft Office) или процессы. Программа, которая обращается к ресурсам от лица пользователя, выполняет процедуру, которая называется имперсонализацией (impersonation). Программа, которая обращается к удаленному ресурсу, выполняет процедуру, которая называется делегированием (delegation).
После регистрации пользователя его системный идентификатор (System Identifier — SID) и идентификаторы SID группы обрабатываются процессом lsass.exe, который генерирует маркер безопасного доступа пользователя. В маркер безопасного доступа вводится и другая информация, в том числе о назначенных пользователю правах (разрешениях), ID сеанса пользователя (уникален для каждого сеанса), маске разрешений с детальным описанием типа запрошенного доступа. Права, назначенные пользователю, можно увидеть с помощью команды
WHOAMI /all
Если программа обращается от лица пользователя к защищенному ресурсу, то монитор защиты (security reference monitor) Windows запрашивает у программы маркер безопасного доступа пользователя. Затем монитор защиты анализирует маркер, чтобы определить эффективные разрешения пользователя, и разрешает или запрещает выполнение запрошенной пользователем операции. Эффективные разрешения более подробно описаны ниже.
Разрешения Share
Каждый защищенный объект Windows — в том числе файлы, папки, общие ресурсы, принтеры и разделы реестра — поддерживает разрешения безопасности. Любую папку Windows можно сделать общедоступной, чтобы разрешить дистанционный доступ. Разрешения Share можно назначать любым объектам folder и printer в Windows, но разрешения применяются, только если обращение к объекту происходит через сетевой ресурс. К разрешениям Folder Share относятся Full Control, Change и Read.
Субъекты безопасности, которым присвоено право полного доступа (Full Control) к объекту, могут производить с объектом почти любые операции. Они могут удалить, переименовать, копировать, переместить и изменить объект. Пользователь с правом Full Control может изменить разрешения Share объекта и стать владельцем объекта (если он уже не является владельцем и не имеет разрешения Take Ownership). Таким образом, любой пользователь с разрешением Full Control может отменить разрешения других лиц, в том числе администратора (хотя администратор может всегда вернуть себе владение и разрешения). Возможность изменять разрешения — обязательное требование любой операционной системы с избирательным управлением доступом (discretionary access control — DAC), такой как Windows.
В большинстве случаев, основное разрешение доступа к ресурсу, необходимое обычным пользователям — Change. С помощью разрешения Change пользователь может добавлять, удалять, изменять и переименовывать любые ресурсы в соответствующей папке. Разрешение Read обеспечивает просмотр, копирование, переименование и печать объекта. Пользователь с разрешением Read может копировать объект в другое место, в котором имеет право Full Control.
Разрешения NTFS
Если в Windows используется файловая система NTFS (а не FAT), то все файлы, папки, разделы реестра и многие другие объекты имеют разрешения NTFS. Разрешения NTFS применяются как при локальном, так и при дистанционном доступе к объекту. Для просмотра и изменения разрешений NTFS файла или папки достаточно щелкнуть правой кнопкой мыши на объекте, выбрать пункт Properties и перейти к вкладке Security.
В Таблице 1 показаны 7 суммарных разрешений NTFS. Суммарные разрешения представляют собой различные комбинации 14 более детализированных разрешений, показанных в Таблице 2. Просмотреть детализированные разрешения можно, открыв диалоговое окно Advanced Security Settings для объекта щелчком на кнопке Advanced во вкладке Security, а затем щелкнуть на кнопке Edit во вкладке Permissions. Знакомиться с детализированными разрешениями объекта (особенно требующего повышенной безопасности) — полезная привычка, хотя для этого требуется больше усилий. Суммарные разрешения не всегда точно отражают состояние детализированных разрешений. Например, мне приходилось видеть суммарное разрешение Read, хотя в действительности пользователь имел разрешение Read & Execute.
Аналогично разрешению Full Control Share, разрешение Full Control NTFS предоставляет владельцам большие возможности. Пользователи, не являющиеся администраторами, часто имеют разрешение Full Control в своем домашнем каталоге и других файлах и папках. Как уже отмечалось, обладатель прав такого уровня может изменять разрешения файла и назначить себя владельцем. Вместо того чтобы предоставлять пользователям разрешение Full Control, можно дать им лишь право Modify. Если пользователь — владелец файла, то при необходимости можно вручную запретить ему изменять разрешения.
Технически, разрешения NTFS известны как избирательные списки управления доступом (discretionary ACL — DACL). Разрешения аудита известны как системные ACL (SACL). Большинство защищенных объектов NTFS располагают разрешениями обоих видов.
Влияние доверительных отношений Windows
По умолчанию все домены и леса Windows 2000 и более поздних версий имеют двусторонние доверительные отношения со всеми другими доменами леса. Если домен доверяет другому домену, то все пользователи в доверенном домене имеют те же разрешения безопасности в доверяющем домене, что и группа Everyone и группа Authenticated Users доверяющего домена. В любом домене многие разрешения этим группам назначаются по умолчанию, и доверительные отношения неявно обеспечивают широкие права, которые не были бы предоставлены в ином случае. Следует помнить, что если доверительные отношения не носят выборочного характера, то любые разрешения, предоставляемые группам Everyone и Authenticated Users, назначаются и всем другим пользователям в лесу.
Проверка разрешений из командной строки
Администраторы часто используют такие инструменты командной строки, как subinacl.exe, xacls.exe и cacls.exe для проверки разрешений NTFS. Subinacl входит в набор ресурсов Windows Server 2003 Resource Kit Tools, и программу можно загрузить отдельно из адреса http://www.microsoft.com/downloads/details.aspx?familyid=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en. С помощью Subinacl можно просматривать и изменять разрешения NTFS для файлов, папок, объектов, разделов реестра и служб. Самая важная возможность Subinacl — скопировать разрешения пользователя, группы или объекта и применить их к другому пользователю, группе или объекту в том же или другом домене. Например, при перемещении пользователя из одного домена в другой в Windows создается новая учетная запись user; все ранее существовавшие SID или разрешения, связанные с первоначальным пользователем, отменяются. Скопировав разрешения в новую учетную запись user с помощью Subinacl, можно сделать их идентичными. Xcacls функционирует аналогично Subinacl и входит в состав комплекта ресурсов Windows 2000 Server Resource Kit. Программу можно также загрузить по адресу http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp.
Программа Cacls описана в опубликованной компанией Microsoft статье «Undocumented CACLS: Group Permissions Capabilities» (http://support.microsoft.com/?kbid=162786). Это более старый инструмент, который появился в составе Windows со времени Windows NT. Cacls не столь полезна, как Subinacl или Xacls, но утилита всегда имеется в системе Windows. С помощью Cacls можно просматривать и изменять файлы и разрешения по пользователям и группам, но не создавать детализированные разрешения NTFS. В настоящее время возможности Cacls ограничены работой с разрешениями No Access, Read, Change и Full Control, которые соответствуют разрешениям NTFS, но не разрешением Share. Кроме того, разрешение Read программы Cacls соответствует разрешению Read & Execute системы NTFS.
Наследование
По умолчанию все файлы, папки и разделы реестра наследуют разрешения от родительского контейнера. Наследование можно активизировать или отключить для индивидуальных файлов, папок или разделов реестра и для отдельных пользователей или групп. Как мы видим на Экране 1, поле Apply To на вкладке Permissions диалогового окна Advanced Security Settings показывает, ограничено ли действие конкретного разрешения текущим контейнером, или оно распространяется на подпапки и файлы. Администратор может назначить разрешение (для отдельных пользователей), которые наследуются или нет. В данном примере группа Everyone имеет разрешение Read & Execute в текущей папке, и это разрешение не наследуется.
Экран 1. Детальные разрешения объекта
Если файл или папка наследует большинство своих разрешений, но имеет также и набор явно заданных разрешений, то последние всегда имеют приоритет перед унаследованными правами. Например, можно предоставить пользователю разрешение Full Control-Deny в корневом каталоге конкретного тома, и задать наследование этих разрешений всеми файлами и папками диска. Затем можно назначить любому файлу или папке на диске право доступа, которое отменяет унаследованный режим Full Control-Deny.
Эффективные разрешения
Монитор защиты Windows определяет эффективные разрешения пользователей (реальные разрешения, которыми они располагают на практике) с учетом нескольких факторов. Как отмечалось выше, монитор защиты сначала собирает информацию об индивидуальной учетной записи пользователя и всех группах, к которым он принадлежит, и обобщает все разрешения, назначенные всем пользовательским и групповым SID. Если разрешения Deny и Allow существуют на одном уровне, то, как правило, приоритет имеет Deny. Если приоритет получает Full Control-Deny, то пользователь, как правило, не имеет доступа к объекту.
По умолчанию при учете разрешений NTFS и Share (пользователь подключается к ресурсу через сеть) монитор защиты должен собрать все разрешения Share и NTFS. В результате эффективные разрешения пользователя представляют собой набор разрешений, предоставленных как разрешениями Share, так и NTFS.
Например, в конечном итоге у пользователя могут оказаться Share-разрешения Read и Change, и NTFS-разрешения Read и Modify. Эффективные разрешения — самый ограниченный набор разрешений. В данном случае разрешения почти идентичны. Эффективными разрешениями будут Read и Change/Modify. Многие администраторы ошибочно полагают, что эффективные разрешения — только Read, из-за плохих, чрезмерно упрощенных примеров или устаревшей документации.
В диалоговом окне Advanced Security Settings в Windows XP и более новых версиях появилась вкладка Effective Permissions (см. Экран 2). К сожалению, на вкладке Effective Permissions отражаются только разрешения NTFS. Не учитывается влияние разрешений Share, групп на базе действий, членства в которых пользователь не имеет, и других факторов, таких как файловая система с шифрованием (Encrypting File System — EFS). Если EFS активизирована для файла или папки, то пользователь с соответствующими разрешениями NTFS и Share может лишиться возможности доступа к объекту, если не имеет права доступа EFS к папке или файлу.
Экран 2. Эффективные разрешения объекта NTFS
Рекомендации
В завершении статьи — несколько рекомендаций по работе с файлами и папками:
- Осмотрительно предоставлять разрешения Full Control обычным пользователям. Полезно назначить им вместо этого разрешение Modify. В большинстве случаев такой подход обеспечивает пользователям все необходимые разрешения, не позволяя изменять права или присваивать себе владение.
- Аккуратно работайте с группой Everyone; лучше использовать группу Authenticated Users (или Users), или специальную группу с ограниченными правами. Важные упущения группы Authenticated Users — отсутствие Guest и неаутентифицированного пользователя.
- Нередко сетевых администраторов просят ввести гостевые учетные записи для сторонних пользователей (например, консультантов, подрядчиков, внештатных программистов). Но права обычного пользователя часто избыточны для гостя. Следует сформировать и использовать группу, права которой по умолчанию сильно урезаны (например, разрешение Full Control-Deny для корневых каталогов), а затем явно разрешить доступ только к файлам и папкам, необходимым данной гостевой учетной записи. Явно назначаемые разрешения предпочтительны, поскольку предоставляют гостевым пользователям именно те разрешения, которые необходимы для их работы, но не больше.
- Следует проявлять осторожность, налагая запреты на группы Everyone и Users, так как администраторы входят и в эти группы.
- В случае доверительных отношений с другими доменами полезно применять одностороннее и селективное доверие, чтобы ограничить права пользователей доверенного домена.
- Необходимо периодически осуществлять аудит разрешений NTFS и Share, чтобы убедиться в том, что они максимально ограничены.
Используя эти рекомендации и справочные таблицы с кратким описанием всех разрешений, можно смело отправляться в лабиринт файловой системы. Администратор сможет уверенно назначать разрешения для файлов, папок, пользователей и групп.
Роджер Граймз (roger@banneretcs.com) — консультант по проблемам безопасности. Имеет сертификаты CPA, CISSP, CEH, CHFI, TICSA и MCSE: Security.
Таблица 1. Сводка разрешений NTFS
Разрешение |
Действие |
Read |
Обеспечивает просмотр, копирование, печать и переименование файлов, папок и объектов. Не позволяет запускать выполняемые программы, кроме файлов сценариев. Позволяет считывать разрешения объектов, атрибуты объектов и расширенные атрибуты (например, бит Archive, EFS). Позволяет составить список файлов и подпапок папки |
Write |
Разрешения чтения, плюс создание и перезапись файлов и папок |
List (Folders Only) |
Позволяет просматривать имена файлов и подпапок внутри папки |
Read & Execute |
Чтение разрешений и запуск программных файлов |
Modify |
Предоставляет все разрешения, кроме возможности присвоить владение и назначать разрешения. Позволяет читать, удалять, изменять и перезаписывать файлы и папки |
Full Control |
Обеспечивает полное управление папками и файлами, в том числе позволяет назначать разрешения |
Special Permissions |
Позволяет составлять комбинации из 14 более детальных разрешений, которые не входят ни в одно из остальных 6 суммарных разрешений. К этой группе относится разрешение Synchronize |
Таблица 2. Детальные разрешения NTFS
Разрешение |
Действие |
Traverse Folder / Execute File |
Traverse Folder позволяет перемещаться по папкам для доступа к другим файлам и папкам, даже если субъект безопасности не имеет разрешений в транзитной папке. Применяется только к папкам. Traverse Folder вступает в силу, только если субъект безопасности не имеет разрешения Bypass traverse checking user (предоставляется группе Everyone по умолчанию). Execute File позволяет запускать программные файлы. Назначение разрешения Traverse Folder для папки не устанавливает автоматически разрешения Execute File для всех файлов в папке |
List Folder / Read Data |
Обеспечивает просмотр имен файлов и подпапок в папке. List Folder воздействует только на содержимое папки — оно не влияет на то, будет ли внесена в список папка, для которой назначается разрешение. Read Data позволяет просматривать, копировать и печатать файлы |
Read Attributes |
Субъект безопасности видит атрибуты объекта (например, Read-only, System, Hidden) |
Read Extended Attributes |
Субъект безопасности видит расширенные атрибуты объекта (например, EFS, Compression) |
Create Files / Write Data |
Create Files позволяет создавать файлы внутри папки (применяется только к папкам). Write Data позволяет вносить изменения в файл и перезаписывать существующий контент (применяется только к файлам) |
Create Folders / Append Data |
Create Folders позволяет создавать папки внутри папки (применяется только к папкам). Append Data позволяет вносить изменения в конец файла, но не изменять, удалять или перезаписывать существующие данные (применяется только к файлам) |
Write Attributes |
Определяет, может ли субъект безопасности записывать или изменять стандартные атрибуты (например, Read-only, System, Hidden) файлов и папок. Не влияет на содержимое файлов и папок, только на их атрибуты. |
Write Extended Attributes |
Определяет, может ли субъект безопасности записывать или изменять расширенные атрибуты (например, EFS, Compression) файлов и папок. Не влияет на содержимое файлов и папок, только на их атрибуты |
Delete Subfolders and Files |
Позволяет удалять подпапки и файлы, даже если разрешение Delete не предоставлено подпапке или файлу |
Delete |
Позволяет удалять папку или файл. При отсутствии разрешения Delete для файла или папки ее можно удалить, если имеется разрешение Delete Subfolders and Files в родительской папке |
Read Permissions |
Позволяет читать разрешения (например, Full Control, Read, Write) файла или папки. Не позволяет прочитать сам файл |
Change Permissions |
Позволяет изменять разрешения (например, Full Control, Read, Write) файла или папки. Не позволяет изменять сам файл |
Take Ownership |
Определяет, кто может быть владельцем файла или папки. Владельцы всегда могут иметь Full Control, и их разрешения в файле или папке не могут быть постоянно отменены, если при этом не отменяется и право владения |
Synchronize |
Администраторы редко используют это разрешение. Применяется для синхронизации в многопотоковых, многопроцессных программах и определяет взаимодействие между несколькими потоками, которые обращаются к одному ресурсу |