Как изменить права ntfs

Особенности настройки разрешений файловой системы NTFS

Файловая система 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, хотя это уже отдельная большая тема.

Do you know what share and NTFS permissions are? In this post, MiniTool introduces some basic information about them. In addition, you can know how to restrict file or folder permissions.

How to protect your files from being accessed by other users? Normally, you don’t need to worry about it because Windows has already solved it for you. When you build up a computer, you get your own profile and a set of permissions, which stops others from accessing your files or folders.

If you’re using NTFS file system, you can configure the NTFS permissions on your files or folders to keep your local or shared data away from others. Besides, you can set the share permissions for the folders shared between PCs/tablets to avoid privacy leakage, and they work for the folders both in NTFS and FAT32 file system.

In the following contents, you can learn about the basic information about file permissions as well as the differences between share and NTFS permissions.

Tip: In addition to setting file permissions, you can also hide your partition or encrypt the hard drive to protect your information. Click here to get more ways to protect your valuable data.

NTFS and Its Security

Before learning about what NTFS permissions are, let’s talk about NTFS first.

NTFS stands for New Technology File System, which is used to store and retrieve files on a storage device running the Windows NT operation system.

It is used to replace FAT (File Allocation Table) and HPFS (High Performance File System) file system. Compared with these two file systems, NTFS is better in performance, reliability, disk space usage and security. Click here to know more about the differences between NTFS and FAT.

Why is NTFS securer than the other file systems?

In NTFS, each file/folder is given a security descriptor. This descriptor defines the owner of the file or folder, and it contains two access control lists (ACLs) of users or groups that have access to a certain object (an object can be a file or folder).

One is discretionary access control list (DACL). It decides the type of interactions (such as reading, writing, executing and deleting) that are allowed or forbidden by which user or group. For example, all users may be able to read and execute the files in C:Program Files folder. However, only administrative user can modify them.

The other one is system access control list (SACL). It defines which interactions with the file or folder need to be audited before modifying. This ACL is usually used when there is something to do with sensitive files of a company.

With these ACLs, NTFS has a high security which FAT and HPFS lack.

About NTFS Permissions

NTFS permissions are used to manage access to data stored in the partition with NTFS file system. NTFS permissions determine who have access to certain files or folders and they can be assigned to individual user or group.

There are different types of NTFS permissions for files and folders that Windows allows you to assign:

  • Full control: It specifies whether a user or group has all available permissions for a file or folder, including adding, modifying, moving and deleting files or folders. In addition, you can change permissions settings for all files and subdirectories.
  • Modify: It specifies whether a user or group can modify a file or the contents in a folder. It’s more restrictive than full control.
  • Read & execute: It allows a user or group to view and run executable files in a folder.
  • List Folder Contents: This is a NTFS folder permission which specifies whether a user or group can list the content of a
  • Read: It determines whether a user or group can read the data in a file or folder. You are unable to read an executable file or open the folder where it’s stored if only this permission is assigned for it.
  • Write: It decides whether a user or group is able to change the content in a file, create files and folders, or write data and attributes for a folder.

NTFS permissions

Share permissions control the access to folders shared over a network. Different from NTFS permissions, share permissions can be used for the folder with both NTFS and FAT file system.

There are three types of share permissions, and you can set each of them to Allow or Deny according to your needs.

  • Read: It allows a user or group to view file and subfolder in the target folder. You can read the contents and run programs with this permission. By default, “Everyone” group is granted with this permission.
  • Change: Besides everything allowed by the read permission, users with this permission can modify data, delete and add files and subfolders to the folder.
  • Full control: Users with this permission will get all available permissions, including read and change permission. By default, full control permission is granted to “Administrators” group.

NTFS and share permissions are both popular among Microsoft Windows users. Although they’re the same in the purpose: to avoid unauthorized access to files and folders, there are some differences between share and NTFS permissions.

  • Types: There are more types of NTFS permissions than those of share permissions. So, share permissions are easier to apply and manage, while NTFS permissions makes you control your shared folders and files more precisely.
  • File System: NTFS permissions can be used only for the files and folders in NTFS file system. However, you can set share permissions for folders in both FAT and NTFS file systems.
  • Users: Share permissions apply to network users, but NTFS permissions affect access both locally and remotely.

After knowing the differences between share and NTFS permissions, you can choose to use NTFS or share permissions according to your needs. In the following contents, you will learn about how to change share and NTFS permissions.

NTFS vs share permissions: Do you know the commons and differences between share and NTFS permissions? In this post, you can know the answer.Click to Tweet

As it is mentioned, you can restrict file or folder permissions to protect your information by changing share or NTFS permission. But before you make any changes, here are some rules you need to know:

  • If you grant a user full control permission to a folder, the user will be able to take ownership of the folder, unless he is restricted in some other way. So, you need to be careful in granting full control.
  • You can restrict a folder by NTFS permission and share permission at the same time, but the final access permission is decided by the more restrictive permission.
  • You can grant permissions to any user, group or computer. You’d better assign permissions to groups, because system performance can be improved while verifying access to an object.

How to Check NTFS Permissions and Change Them

If you’re using NTFS file system, you’d better use NTFS permissions to restrict file or folder permissions. You just need to specify the level of access for users and groups. For example, you can allow a user to read the contents in the file, enable another user to make changes to the file, and prevent some users from accessing the file.

How to check NTFS permissions and change it? You can figure it out in the following step-by-step guide.

Step 1: Right-click the file or folder.

Step 2: Select Properties.

Step 3: Switch to Security tab to check NTFS permissions. As the picture shows, Object name, Group or user names and permissions types are displayed here, and you can click each user or group to check which NTFS permissions they have to access this file or folder.

Tip: Usually, the simplest permissions have at least three users: SYSTEM, currently logged-in user account and the administrator group.

check NTFS properties

Step 4: If you need to change NTFS permissions, click Edit. Then in the pop-up window, select a group or user, or click Add to add more users or groups.

Tip: When you add more users or groups, please type in the user names or group names into the Enter the object names to select section, and then click Check names to make sure it’s correct.

click Add

Step 5: Check the permissions you want to assign to the group or user. Then click Apply and OK to save the changes you have made.

How to Check Share Permissions

To manage the shared folder in FAT32 file system, you can use share permissions. Here is how to check the share permissions settings.

Step 1: Right-click the shared folder and choose Properties.

Step 2: In the Properties window, switch to Sharing tab and click Advanced Sharing.

click Advanced Sharing

Step 3: In the pop-up window, select Permissions. Then you can see share permissions for groups or users.

click Permissions

The method of changing share permissions is similar to that of changing NTFS permissions. If you want to make any changes, you can refer to the steps in the former part.

Convert FAT32 to NTFS

As NTFS permissions for files and folders are not available if you’re using FAT32 file system, you can convert FAT32 to NTFS to solve the problem. Here are two options for you: using Command Prompt and using MiniTool Partition Wizard.

Option 1: Using Command Prompt

This may be a little complicated and dangerous if you don’t use Command Prompt often. Before the operation, you need to check the drive letter of the drive on which your shared file or folder is stored. Then you can follow the steps below to convert FAT32 to NTFS.

Warning: You will be unable to convert the drive back to FAT32 without data lose after the operation.

Step 1: Press Win + R to invoke Run window. Then input cmd and press Shift + Ctrl + Enter to run Command Prompt as administrator.

Step 2: In Command Prompt window, type convert * /fs:ntfs (* represents the drive where the shared file or folder is stored) and press Enter to execute the command.

convert FAT32 to NTFS with CMD

Then you just need to wait until the process is complete.

Option 2: Using MiniTool Partition Wizard

If you’re not professional in computer technology, I recommend you using MiniTool Partition Wizard, a great partition manager. It helps you convert FAT32 to NTFS within a few clicks.

Step 1: Download and install this manager from the following button.

Free Download

Step 2: Launch it. Then right-click the target partition for which you need to change the file system and select Convert FAT to NTFS.

click Convert FAT to NTFS

Step 3: In the following window, click Start to begin the operation.

click Start

Step 4: When the conversion is completed, click Close button.

Then you can exit MiniTool Partition Wizard and check if NTFS permissions are available.

Tip: If you want to convert NTFS to FAT32, you can use MiniTool Partition Wizard Pro Edition.

What are share and NTFS permissions? How to change them? I’d like to share the post with you.Click to Tweet

Bottom Line

NTFS permissions and share permissions help you protect the shared files or folders. After learning about the differences between them, you can better manage the permissions settings. Besides, if you want to make any changes to them, you can follow the instructions above.

For any questions, you can post them in the comment section below. If you encounter any problems while using MiniTool Partition Wizard, please don’t hesitate to contact us via [email protected].

NTFS Permissions FAQ

What are the six standard NTFS permissions?

  • Read
  • Write
  • Execute
  • Delete
  • Change permission
  • Take ownership

What do NTFS permissions do?

NTFS permissions are used to restrict the access to data stored in NTFS file system. You can set any type of permissions to Allow or Deny to manage the access to NTFS files or folders.

Do you know what share and NTFS permissions are? In this post, MiniTool introduces some basic information about them. In addition, you can know how to restrict file or folder permissions.

How to protect your files from being accessed by other users? Normally, you don’t need to worry about it because Windows has already solved it for you. When you build up a computer, you get your own profile and a set of permissions, which stops others from accessing your files or folders.

If you’re using NTFS file system, you can configure the NTFS permissions on your files or folders to keep your local or shared data away from others. Besides, you can set the share permissions for the folders shared between PCs/tablets to avoid privacy leakage, and they work for the folders both in NTFS and FAT32 file system.

In the following contents, you can learn about the basic information about file permissions as well as the differences between share and NTFS permissions.

Tip: In addition to setting file permissions, you can also hide your partition or encrypt the hard drive to protect your information. Click here to get more ways to protect your valuable data.

NTFS and Its Security

Before learning about what NTFS permissions are, let’s talk about NTFS first.

NTFS stands for New Technology File System, which is used to store and retrieve files on a storage device running the Windows NT operation system.

It is used to replace FAT (File Allocation Table) and HPFS (High Performance File System) file system. Compared with these two file systems, NTFS is better in performance, reliability, disk space usage and security. Click here to know more about the differences between NTFS and FAT.

Why is NTFS securer than the other file systems?

In NTFS, each file/folder is given a security descriptor. This descriptor defines the owner of the file or folder, and it contains two access control lists (ACLs) of users or groups that have access to a certain object (an object can be a file or folder).

One is discretionary access control list (DACL). It decides the type of interactions (such as reading, writing, executing and deleting) that are allowed or forbidden by which user or group. For example, all users may be able to read and execute the files in C:Program Files folder. However, only administrative user can modify them.

The other one is system access control list (SACL). It defines which interactions with the file or folder need to be audited before modifying. This ACL is usually used when there is something to do with sensitive files of a company.

With these ACLs, NTFS has a high security which FAT and HPFS lack.

About NTFS Permissions

NTFS permissions are used to manage access to data stored in the partition with NTFS file system. NTFS permissions determine who have access to certain files or folders and they can be assigned to individual user or group.

There are different types of NTFS permissions for files and folders that Windows allows you to assign:

  • Full control: It specifies whether a user or group has all available permissions for a file or folder, including adding, modifying, moving and deleting files or folders. In addition, you can change permissions settings for all files and subdirectories.
  • Modify: It specifies whether a user or group can modify a file or the contents in a folder. It’s more restrictive than full control.
  • Read & execute: It allows a user or group to view and run executable files in a folder.
  • List Folder Contents: This is a NTFS folder permission which specifies whether a user or group can list the content of a
  • Read: It determines whether a user or group can read the data in a file or folder. You are unable to read an executable file or open the folder where it’s stored if only this permission is assigned for it.
  • Write: It decides whether a user or group is able to change the content in a file, create files and folders, or write data and attributes for a folder.

NTFS permissions

Share permissions control the access to folders shared over a network. Different from NTFS permissions, share permissions can be used for the folder with both NTFS and FAT file system.

There are three types of share permissions, and you can set each of them to Allow or Deny according to your needs.

  • Read: It allows a user or group to view file and subfolder in the target folder. You can read the contents and run programs with this permission. By default, “Everyone” group is granted with this permission.
  • Change: Besides everything allowed by the read permission, users with this permission can modify data, delete and add files and subfolders to the folder.
  • Full control: Users with this permission will get all available permissions, including read and change permission. By default, full control permission is granted to “Administrators” group.

NTFS and share permissions are both popular among Microsoft Windows users. Although they’re the same in the purpose: to avoid unauthorized access to files and folders, there are some differences between share and NTFS permissions.

  • Types: There are more types of NTFS permissions than those of share permissions. So, share permissions are easier to apply and manage, while NTFS permissions makes you control your shared folders and files more precisely.
  • File System: NTFS permissions can be used only for the files and folders in NTFS file system. However, you can set share permissions for folders in both FAT and NTFS file systems.
  • Users: Share permissions apply to network users, but NTFS permissions affect access both locally and remotely.

After knowing the differences between share and NTFS permissions, you can choose to use NTFS or share permissions according to your needs. In the following contents, you will learn about how to change share and NTFS permissions.

NTFS vs share permissions: Do you know the commons and differences between share and NTFS permissions? In this post, you can know the answer.Click to Tweet

As it is mentioned, you can restrict file or folder permissions to protect your information by changing share or NTFS permission. But before you make any changes, here are some rules you need to know:

  • If you grant a user full control permission to a folder, the user will be able to take ownership of the folder, unless he is restricted in some other way. So, you need to be careful in granting full control.
  • You can restrict a folder by NTFS permission and share permission at the same time, but the final access permission is decided by the more restrictive permission.
  • You can grant permissions to any user, group or computer. You’d better assign permissions to groups, because system performance can be improved while verifying access to an object.

How to Check NTFS Permissions and Change Them

If you’re using NTFS file system, you’d better use NTFS permissions to restrict file or folder permissions. You just need to specify the level of access for users and groups. For example, you can allow a user to read the contents in the file, enable another user to make changes to the file, and prevent some users from accessing the file.

How to check NTFS permissions and change it? You can figure it out in the following step-by-step guide.

Step 1: Right-click the file or folder.

Step 2: Select Properties.

Step 3: Switch to Security tab to check NTFS permissions. As the picture shows, Object name, Group or user names and permissions types are displayed here, and you can click each user or group to check which NTFS permissions they have to access this file or folder.

Tip: Usually, the simplest permissions have at least three users: SYSTEM, currently logged-in user account and the administrator group.

check NTFS properties

Step 4: If you need to change NTFS permissions, click Edit. Then in the pop-up window, select a group or user, or click Add to add more users or groups.

Tip: When you add more users or groups, please type in the user names or group names into the Enter the object names to select section, and then click Check names to make sure it’s correct.

click Add

Step 5: Check the permissions you want to assign to the group or user. Then click Apply and OK to save the changes you have made.

How to Check Share Permissions

To manage the shared folder in FAT32 file system, you can use share permissions. Here is how to check the share permissions settings.

Step 1: Right-click the shared folder and choose Properties.

Step 2: In the Properties window, switch to Sharing tab and click Advanced Sharing.

click Advanced Sharing

Step 3: In the pop-up window, select Permissions. Then you can see share permissions for groups or users.

click Permissions

The method of changing share permissions is similar to that of changing NTFS permissions. If you want to make any changes, you can refer to the steps in the former part.

Convert FAT32 to NTFS

As NTFS permissions for files and folders are not available if you’re using FAT32 file system, you can convert FAT32 to NTFS to solve the problem. Here are two options for you: using Command Prompt and using MiniTool Partition Wizard.

Option 1: Using Command Prompt

This may be a little complicated and dangerous if you don’t use Command Prompt often. Before the operation, you need to check the drive letter of the drive on which your shared file or folder is stored. Then you can follow the steps below to convert FAT32 to NTFS.

Warning: You will be unable to convert the drive back to FAT32 without data lose after the operation.

Step 1: Press Win + R to invoke Run window. Then input cmd and press Shift + Ctrl + Enter to run Command Prompt as administrator.

Step 2: In Command Prompt window, type convert * /fs:ntfs (* represents the drive where the shared file or folder is stored) and press Enter to execute the command.

convert FAT32 to NTFS with CMD

Then you just need to wait until the process is complete.

Option 2: Using MiniTool Partition Wizard

If you’re not professional in computer technology, I recommend you using MiniTool Partition Wizard, a great partition manager. It helps you convert FAT32 to NTFS within a few clicks.

Step 1: Download and install this manager from the following button.

Free Download

Step 2: Launch it. Then right-click the target partition for which you need to change the file system and select Convert FAT to NTFS.

click Convert FAT to NTFS

Step 3: In the following window, click Start to begin the operation.

click Start

Step 4: When the conversion is completed, click Close button.

Then you can exit MiniTool Partition Wizard and check if NTFS permissions are available.

Tip: If you want to convert NTFS to FAT32, you can use MiniTool Partition Wizard Pro Edition.

What are share and NTFS permissions? How to change them? I’d like to share the post with you.Click to Tweet

Bottom Line

NTFS permissions and share permissions help you protect the shared files or folders. After learning about the differences between them, you can better manage the permissions settings. Besides, if you want to make any changes to them, you can follow the instructions above.

For any questions, you can post them in the comment section below. If you encounter any problems while using MiniTool Partition Wizard, please don’t hesitate to contact us via [email protected].

NTFS Permissions FAQ

What are the six standard NTFS permissions?

  • Read
  • Write
  • Execute
  • Delete
  • Change permission
  • Take ownership

What do NTFS permissions do?

NTFS permissions are used to restrict the access to data stored in NTFS file system. You can set any type of permissions to Allow or Deny to manage the access to NTFS files or folders.

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

С понятиями прав и разрешений на файлы более или менее знакомы все пользователи. Но что в действительности они собой представляют и как система определяет, какой файл можно просматривать или изменять, а какой нет? Давайте попробуем разобраться.

Структура файла в NTFS

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

Атрибуты и ACL

При работе через сервер права доступа выдаются сервером, при непосредственной же работе с дисками через интерфейс локальной машины права доступа выдаются на уровне файловой системы NTFS. Как это работает? А вот как. Каждый записанный в NTFS файл представляет собой не только данные, помимо них он также хранит служебную информацию — атрибуты и ACL (Access Control List). Кстати, атрибуты и ACL имеют не только файлы, но и папки.

Атрибуты файла

Что такое атрибуты файла, вы, в принципе, должны знать сами. Скрытый, системный, индексируемый или неиндексируемый, доступный только для чтения, готовый к архивированию — всё это называется атрибутами и просматривается в свойствах файла или папки. За права же доступа отвечают метаданные ACL. И если атрибуты описывают свойства объекта, то ACL указывает, кто именно и какие действия с этим объектом может производить. ACL также именуют разрешениями.

Структуру ACL можно представить в виде таблицы с тремя колонками.

Структура ACL

Первая колонка содержит уникальный идентификатор пользователя (SID), вторая — описание прав (read, write и т.д.), третья — флаг, указывающий разрешено ли конкретному SID пользоваться этими правами или нет. Он может принимать два значения: true (да) и false (нет).

SID

Основных прав доступа в NTFS четыре:

Read разрешает только чтение файла.
Write разрешает чтение и запись.
Modify разрешает чтение, запись, переименование, удаление и редактирование атрибутов.
Full Control даёт пользователю неограниченную власть над файлом. Помимо всего перечисленного, имеющий права Full Control пользователь может редактировать метаданные ACL. Все прочие права доступа возможность изменения ACL не предоставляют.

Владелец объекта

Кроме атрибутов и разрешений, каждый объект в файловой системе NTFS имеет своего владельца. Таковым может выступать локальный администратор, пользователь, TrustedInstaller, система и т.д. Владелец может изменять права доступа к своему файлу, однако локальный администратор имеет право назначить владельцем такого файла самого себя, следовательно, получить на него полные права, то есть Full Control.

Наследование

Так как файлов на диске может быть очень много и большая их часть располагается во вложенных каталогах, для удобного и быстрого изменения их прав доступа необходим какой-то механизм. Для этого в NTFS есть такая вещь как наследование.

Наследование

Правило наследования простое и укладывается оно в одну формулировку: при своём создании каждый дочерний объект автоматически наследует разрешения ближайшего родительского объекта. Приведём пример. Если вы создали папку «А», а в ней папку «Б», то папка «Б» будет иметь те же разрешения, что и папка «А». Следовательно, все файлы в папке «Б» получат разрешения папки «А».

Отключение наследования

Явные и неявные разрешения

Все разрешения, которые наследуются автоматически, именуются неявными (implicit). И напротив, разрешения, которые устанавливаются вручную путём изменения ACL, называются явными (explicit). Отсюда вытекают два правила:

На одном уровне вложенности запрещающее разрешение имеет более высокий приоритет. Если для одного SID было задано и разрешающее, и запрещающее разрешение, то действовать будет запрет.
Явное разрешение имеет более высокий приоритет, чем неявное. Если запрет на какой-то объект был унаследован от родителя, а затем на него было установлено явное разрешение, то оно получит приоритет.

Таким образом в NTFS формируются комбинации разрешений и запретов. И если расположить приоритеты разрешений в порядке убывания, то получим примерно такую картину:

1. Явный запрет
2. Явное разрешение
3. Неявный запрет
4. Неявное разрешение

Разрешения

Особенности наследования при копировании и перемещении файлов

До этого момента мы говорили о наследовании при создании файлов в родительских или дочерних каталогах. В случаях копирования или перемещения объекта правила наследования меняются.

• При копировании объекта с одного тома на другой, например, с диска «С» на диск «D» копируемый объект всегда получает права или разрешения того раздела или расположенного в нём каталога, в который он копируется. Те же правила действуют при перемещении файлов между разными томами.

• При перемещении в пределах одного тома, перемещаемый объект сохраняет свою ACL, изменяется только ссылка на него в таблице MFT.

• При копировании в пределах одного тома копируемый объект получает ACL от ближайшего вышестоящего родительского каталога.

Для начала этого вполне достаточно, чтобы иметь более-менее чёткое представление о том, как работают законы разрешений в NTFS. На самом деле разрешений в файловой системе существует гораздо больше разрешений. Большинству простых пользователей их знать необязательно, а вот будущим системным администраторам такие знания могут очень даже пригодится.

Загрузка…

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

Для управления доступом пользователей к папкам и файлам используется детализированная и сложная система разрешений. Механизм управления доступом к объектам 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. Детальные разрешения объекта

Экран 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 

Экран 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

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

Развитая система безопасности — это одна из особенностей операционной системы Windows 8.1, Windows 10. И основой этой безопасности служит файловая система NTFS, которая предполагает исполь­зование так называемых разрешений.

Под разрешением NTFS понимается правило, связанное с объектом (файлом, папкой) и используемое для управления доступом пользовате­лей к этому объекту. При этом под пользователем понимается не только пользователь-человек как таковой, но и программы, запущенные от его имени (под его учетной записью).

В NTFS, разрешения назначаемые папкам, отличаются от разрешений, назначаемых файлам. Далее будут по отдельности рассмотрены и те и дру­гие. Причем в NTFS предусмотрен как стандартный набор разрешений (для общих случаев), так и специализированный набор — для «тонкой» настройки.

Содержание

  1. Стандартные разрешения
  2. Специальные разрешения
  3. Разрешения для файлов и папок

Стандартные разрешения

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

Стандартные разрешения NTFS для папок:

Разрешение Допускаемые действия
Чтение (Read) Разрешается просматривать вложенные папки и файлы, а

также их свойства: имя владельца, разрешения и атрибуты

(такие как «только чтение», «скрытый», «архивный» и

«системный»)

Запись (Write) Разрешается создавать и размещать внутри папки новые файлы

и подпапки, а также изменять атрибуты папки и просматривать

ее свойства: владельца и разрешения

Список
содержимого
папки (List folder
contents)
Дает право просматривать имена содержащихся в папке
файлов и вложенных подпапок
Чтение и
выполнение
(Read&Execute)
Позволяет получить доступ к файлам в подпапках, даже если

нет доступа к самой папке. Кроме того разрешает те же

действия, что предусмотрены для разрешений «Чтение»

и «Список содержимого папки»

Изменение (Modify) Разрешает все действия, предусмотренные для разрешений

«Чтение» и «Чтение и выполнение» + разрешает удаление папки

Полный доступ

(Full control)

Предоставляет полный доступ к папке. Это значит, что

допускаются все действия, предусмотренные всеми

перечисленными выше разрешениями. Дополнительно позволя-­

ется становиться владельцем папки и изменять ее разрешения

Особые

разрешения(Special

Permission)

Задает набор специальных разрешений, отличающийся от

стандартных и перечисленных ниже

Разрешения для файлов имеют те же названия, но смысл их несколько отличается.

Стандартные разрешения NTFS для файлов:

Разрешение Допускаемые действия
Чтение (Read) Разрешается чтение файла, а также просмотр его свойств:

имя владельца, разрешений и атрибутов

Запись (Write) Разрешается перезапись файла, изменение его атрибутов,

а также просмотр его владельца и разрешений

Чтение и
выполнение
(Read&Execute)
То же что и «Чтение» + возможность запуска приложения

(если файл исполняемый)

Изменение (Modify) Допускает изменение и удаление файла + то, что

предусмотрено разрешениями «Запись» и «Чтение и выполнение»

Полный доступ

(Full control)

Предоставляет полный доступ к файлу. Это значит, что

допускаются все действия, предусмотренные всеми перечис­-

ленными выше разрешениями. Дополнительно позволяется

становиться владельцем файла и изменять его разрешения

Особые

разрешения(Special

Permission)

Задает набор специальных разрешений, отличающийся от

стандартных и перечисленных ниже

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

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

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

Специальные разрешения NTFS для файлов и папок:

Разрешение Описание
Обзор папок /

Выполнение файлов

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

.

Для файлов. Разрешение «Выполнение файлов» позволяет или
запрещает запуск программ. Обратите внимание, что
разрешение «Обзор папок» для папки не означает
автоматическую установку разрешения «Выполнение файлов»
для всех файлов, размещенных в этой папке

Содержание папки /

Чтение данных

Для папок. Разрешение «Содержание папки» позволяет или
запрещает просмотр имен файлов и подпапок, содержащихся
в папке. Это разрешение относится только к содержимому
данной папки и не означает, что имя самой этой папки также
должно включаться в список.

.

Для файлов. Разрешение «Чтение данных» позволяет или
запрещает чтение данных из файла

Чтение атрибутов Разрешает или запрещает просмотр таких атрибутов файла

или папки, как «Только чтение» и «Скрытый»

Чтение

дополнительных

атрибутов

Разрешает или запрещает просмотр дополнительных атрибутов

файла или папки. Дополнительные атрибуты определяются

программами и могут различаться для разных программ

Создание файлов /

Запись данных

Для папок. Разрешение «Создание файлов» позволяет или

запрещает создание файлов в папке (применимо только к папкам).

.

Для файлов. Разрешение «Запись данных» позволяет или.

запрещает внесение изменений в файл и запись поверх

имеющегося содержимого

Создание папок /

Дозапись данных

Для папок. Разрешение «Создание папок» позволяет или

запрещает создание папок внутри папки (применимо только к папкам).

.

Для файлов. Разрешение «Дозапись данных» позволяет или

запрещает внесение данных в конец файла, но не изменение,

удаление или замену имеющихся данных (применимо только к файлам)

Запись атрибутов Разрешает или запрещает смену таких атрибутов файла или

папки, как «Только чтение» и «Скрытый». При этом разрешение

«Запись атрибутов» не подразумевает права на создание или

удаление файлов или папок: разрешается только вносить

изменения в их атрибуты

Запись
дополнительных
атрибутов
Разрешает или запрещает смену дополнительных атрибутов

файла или папки. Дополнительные атрибуты определяются

программами и могут различаться для разных программ.

Разрешение «Запись дополнительных атрибутов» не

подразумевает права на создание или удаление файлов или

папок: разрешается только вносить изменения в их атрибуты

Удаление Разрешает или запрещает удаление файла или папки. Если для

файла или папки отсутствует разрешение «Удаление», то объект

все же можно удалить при наличии разрешения «Удаление

подпапок и файлов» для родительской папки

Удаление подпапок и
файлов
Это разрешение применяется только к папкам. Оно позволяет

или запрещает удаление подпапок и файлов внутри папки даже

в тех случаях, когда отсутствует разрешение «Удаление»

Чтение разрешений Разрешает или запрещает чтение разрешений на доступ к

файлу или папке (т.е. разрешений «Полный доступ», «Чтение» и «Запись»)

Смена разрешений Разрешает или запрещает смену разрешений на доступ к файлу

или папке (таких как «Полный доступ», «Чтение» и «Запись»)

Смена владельца Разрешает или запрещает вступать во владение файлом или

папкой. Привилегия владельца состоит в том, что он всегда

может изменять разрешения на доступ к файлу или папке,

независимо от любых разрешений, защищающих этот файл

или папку

Синхронизация При одновременном доступе к одним и тем же папкам (файлам)

данное разрешение позволяет или запрещает ожидание

различными потоками файлов или папок и синхронизацию их

с другими потоками. Это разрешение применимо только к

программам, выполняемым в многопоточном режиме с

несколькими процессами

Разрешения для файлов и папок

Ниже, в таблице показано, какие особые разрешения входят в какие стандартные разрешения. Например, можно увидеть, что в стандартное разрешение «Полный доступ» входят все специальные разрешения, а в стандартное разрешение «Изменение» — все, кроме «Удаление подпапок и файлов», «Смена разрешений» и «Смена владельца».

В таблице также можно увидеть, что стандартные разрешения «Список содер­жимого папки» и «Чтение и выполнение» включают в себя одинаковый перечень особых разрешений. Тем не менее разница все-таки есть, а зак­лючается она в том, что наследуются эти разрешения по разному. Так, разрешение «Список содержимого папки» наследуется только папками и отображается только при просмотре разрешений на доступ к папкам. Файлами это разрешение не наследуется.

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

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

Вхождение специальных разрешений в стандартные разрешения.

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

Выполнение файлов

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
Синхронизация X X X X X X

Для управления доступом к файлам и папкам в Windows на каждый объект файловой системы NTFS (каталог или файл) назначается специальный ACL (Access Control List, список контроля доступа). В ACL объекта задаются доступные операции (разрешения), которые может совершать с этим объектом пользователь и/или группы . В большинстве случаев администраторы Window для управления NFTS разрешениями на файлы и папки используют графический интерфейс File Explorer (свойства папки/файла -> вкладка Security/Безопасность) или консольную утилиту icacls. В этой статье мы рассмотрим способы управления разрешениями на объекты файловой системы NTFS из PowerShell. Вы можете использовать эти команды в скриптах и для автоматизации управлением NTFS разрешениями на файловых серверах Windows.

упраление ntfs разрешениями на папки из проводника Windows

Содержание:

  • Встроенные командлеты для управления ACL в NTFS: Get-Acl и Set-Acl
  • Используем модуль NTFSSecurity для управления разрешениями из PowerShell
  • Проверка эффективных NTFS разрешений на объекты из PowerShell

Встроенные командлеты для управления ACL в NTFS: Get-Acl и Set-Acl

В PowerShell v5 (Windows 10 / Windows Server 2016) для управления ACL имеется два отдельных встроенных командлета (входят в модуль Microsoft.PowerShell.Security):

  • Get-Acl — позволяет получить текущие ACL для конкретного объекта на файловой системе NTFS;
  • Set-Acl – используется для добавления/изменения текущих ACL объекта.

Мы не будем подробно останавливаться на этих встроенных командлетах, т.к. их функционал в большинстве случае недостаточен для управления NTFS разрешениями в реальных задачах. Рассмотрим лишь несколько типовых примеров их использования.

Выведем текущего владельца папки (файла) и список назначенных NTFS разрешений:

get-acl C:Drivers |fl

командлет get-acl из модуля Microsoft.PowerShell.Security

Path : Microsoft.PowerShell.CoreFileSystem::C:Drivers
Owner : WORKSTAT1root

Group : WORKSTAT1Отсутствует
Access : NT AUTHORITYAuthenticated Users Allow Modify, Synchronize
NT AUTHORITYSYSTEM Allow FullControl
BUILTINАдминистраторы Allow FullControl
BUILTINПользователи Allow ReadAndExecute, Synchronize
WORKSTAT1root Allow Modify, Synchronize
Audit :
Sddl : O:S-1-5-21-3650440056-3766451173-3310994491-1001G:S-1-5-21-3650440056-766451173-3310994491-513D:PAI(A;OICI;0x 1301bf;;;AU)(A;OICI;FA;;;SY)(A;OICI;FA;;;BA)(A;OICI;0x1200a9;;;BU)(A;OICI;0x1301bf;;;S-1-5-21-3650440056-37664 51173-3310994491-1001)

Как вы видите, текущие разрешения также представлены в виде SDDL строки – мы вкратце рассматривали этот формат описания доступа в статье Управление правами на службы Windows.

Можно вывести только списки NTFS разрешений в более понятном формате:

(get-acl C:Drivers).access

get-acl - узнать ntfs разрешения на каталог или папку из powershell

С помощью следящей команды можно скопировать NTFS разрешения с одной папки и применить их на другую:

Get-Acl C:Drivers | Set-Acl C:Distr

Для выполнения этой операции учетная запись должна быть владельцем ресурса (Owner) и обладать правами Take Ownership.

Главная проблема при использовании Set-ACL – командлет всегда пытается сменить владельца ресурса, даже если вы просто хотите изменить NTFS разрешения. В результате, чтобы добавить права на объект нужно использовать такую конструкцию:

$path = "c:drivers"
$user = "WORKSTAT1user1"
$Rights = "Read, ReadAndExecute, ListDirectory"
$InheritSettings = "Containerinherit, ObjectInherit"
$PropogationSettings = "None"
$RuleType = "Allow"
$acl = Get-Acl $path
$perm = $user, $Rights, $InheritSettings, $PropogationSettings, $RuleType
$rule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $perm
$acl.SetAccessRule($rule)
$acl | Set-Acl -Path $path

Чтобы убрать NTFS доступ к папке для пользователя или группы:

$path = "c:drivers"
$acl = Get-Acl $path
$rules = $acl.Access | where IsInherited -eq $false
$targetrule = $rules | where IdentityReference -eq "WORKSTAT1user1"
$acl.RemoveAccessRule($targetrule)
$acl | Set-Acl -Path $path

Чтобы отключить наследование для папки из PowerShell:

$path = 'C:dist'
$acl = Get-ACL -Path $path
$acl.SetAccessRuleProtection($True, $True) # первый $True указывает, является ли данный каталог защищенным, второй $True – нужно ли скопировать текущие NTFS разрешения
Set-Acl -Path $path -AclObject $acl

Используем модуль NTFSSecurity для управления разрешениями из PowerShell

Как я уже говорил, встроенный модуль для управления ACL на объекты в PowerShell не самый удобный. Для управления NTFS правами на файлы и папки в Windows лучше использовать отдельный модуль их галереи PowerShell – NTFSSecurity. Последнюю версию модуля NTFSSecurity (4.2.4 на данный момент) можно установить командой
Install-Module -Name NTFSSecurity
, или скачать вручную (линк). При ручной установке достаточно распаковать содержимое архива модуля в каталог C:WindowsSystem32WindowsPowerShellv1.0ModulesNTFSSecurity (не забудьте разблокировать скачанные файлы).

Импортируйте модуль NTFSSecurity в сессию PowerShell:

Import-Module NTFSSecurity

Выведем список команд, доступных в модуле (доступно 36 командлетов):

Get-Command -Module NTFSSecurity

NTFSSecurity модуль powershell для управления правами на файлы и папки

Выведем текущие NTFS разрешения на каталог:
Get-Item 'c:distr' | Get-NTFSAccess

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

Get-NTFSAccess получить текущие ntfs права powershell

Чтобы предоставить конкретному пользователю и группе группе полные права на папку, выполните команду:
Add-NTFSAccess -Path C:distr -Account 'WORKSTAT1confroom','BUILTINАдминистраторы' -AccessRights 'Fullcontrol' -PassThru

Совет. По умолчанию командлеты модуля NTFSSecurity не возвращают никаких данных, чтобы команда после выполнения выводила новые ACL, используйте параметр PassThru.

Чтобы предоставить права только на верхнем уровне и не изменять разрешения на вложенные объекты (только на папку), используйте команду:

Add-NTFSAccess c:datapublic -Account corpaaivanov -AccessRights Modify -AppliesTo ThisFolderOnly

Удалить назначенные NTFS разрешения:

Remove-NTFSAccess -Path C:distr -Account 'WORKSTAT1confroom' -AccessRights FullControl -PassThru

Следующей командой можно лишить указанную учетную прав на все вложенные объекты в указанной папке (наследованные разрешения будут пропущены):

Get-ChildItem -Path C:distr -Recurse | Get-NTFSAccess -Account 'WORKSTAT1confroom' -ExcludeInherited |Remove-NTFSAccess -PassThru

Следующей командой можно назначить учетную запись Administrator владельцем всех вложенных объектов в каталоге:

Get-ChildItem -Path C:distr -Recurse -Force | Set-NTFSOwner -Account 'Administrator'

Чтобы очистить все разрешения, назначенные на объекты каталога вручную (не будет удалены унаследованные разрешения):

Get-ChildItem -Path C:distr -Recurse -Force | Clear-NTFSAccess

Включить NTFS наследование для всех объектов в каталоге:

Get-ChildItem -Path C:distr -Recurse -Force | Enable-NTFSAccessInheritance

Чтобы вывести все разрешения, которые назначены вручную, исключая унаследованные разрешения:

dir C:distr | Get-NTFSAccess –ExcludeInherited

Можно вывести разрешения, назначенные для определенного аккаунта (не путайте с эффективными разрешениями, речь о них ниже):

dir C:distr | Get-NTFSAccess -Account corpaaivanov

Проверка эффективных NTFS разрешений на объекты из PowerShell

Вы можете проверить эффективные NTFS разрешения на конкретный файл или папку с помощью командлета
Get-EffectiveAccess
. Допустим вы предоставили доступ на некоторую папку нескольким группам безопасности AD и теперь хотите понять, есть ли у конкретного аккаунта (SID) доступ к данной папке или нет. Как это сделать, не выводя состав групп AD, в которых входит его учетная запись? В этой ситуации как раз поможет функция проверки эффективные NTFS разрешений. Допустим, нужно проверить эффективные права на все вложенные папки в каталоге для пользователя confroom.

Get-ChildItem -Path c:distr -Recurse -Directory | Get-NTFSEffectiveAccess -Account 'WORKSTAT1confroom' | select Account, AccessControlType, AccessRights, FullName

Либо вы можете проверить эффективные разрешения на конкретный файл:

Get-Item -Path 'C:distrmstsc.exe.manifest' | Get-NTFSEffectiveAccess -Account 'WORKSTAT1confroom' | Format-List

Get-NTFSEffectiveAccess - эффективные ntfs разрешения

Специальные сетевые ресурсы

В любой системе на базе технологий Windows NT существуют специальные сетевые ресурсы. Имена некоторых ресурсов заканчиваются символом $, такие сетевые ресурсы через » Сетевое окружение » или при открытии ресурсов сервера с помощью команды » \<имя сервера> » не будут видны. Однако, если указать полное UNC-имя сетевого ресурса, то можно увидеть данные, размещенные в нем.

Перечислим эти ресурсы:

  • ресурс вида » \<имя сервера>admin$ » (например, \DC1admin$ ) — предназначен для удаленного администрирования компьютера; путь всегда соответствует местоположению папки, в которой установлена система Windows; к этому ресурсу могут подключаться только члены групп Администраторы, Операторы архива и Операторы сервера ;
  • ресурс вида » \<имя сервера>< буква диска>$ » (например, \DC1C$ ) — корневая папка указанного диска;. к сетевым ресурсам такого типа на сервере Windows могут подключаться только члены групп Администраторы, Операторы архива и Операторы сервера ; на компьютерах с Windows XP Professional и Windows 2000 Professional к таким ресурсам могут подключаться члены групп Администраторы и Операторы архива ;
  • ресурс » \<имя сервера>IРС$ » (например, \DC1IP$ ) — используется для удаленного администрирования;
  • ресурс » \<имя сервера>NETLOGON » (например, \DC1NETLOGON ) — используется только на контроллерах домена, в данной сетевой папке хранятся скрипты (сценарии) для входа пользователей в систему, совместимые с предыдущими версиями операционных систем Microsoft;
  • ресурс » \<имя сервера>SYSVOL » — используется только на контроллерах домена, в данной сетевой папке хранится файловая часть групповых политик;
  • ресурс » \<имя сервера>PRINT$ » — ресурс, который поддерживает совместно используемые принтеры, в частности, в данной папке хранятся драйверы для совместно используемых принтеров.

Просмотреть полный список ресурсов, предоставляемых данным сервером для совместного использования, можно в оснастке » Общие папки «, в разделе » Общие ресурсы » (рис. 8.35):

Рис.
8.35.

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

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

Разрешения NTFS

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

Разрешения NTFS можно установить, открыв Свойства папки или файла и перейдя на закладку » Безопасность » ( Security ). Как видно на рис. 8.36, набор видов NTFS-разрешений намного богаче, чем набор сетевых разрешений.

Рис.
8.36.

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

  • Полный доступ ;
  • Изменить ;
  • Чтение и выполнение ;
  • Список содержимого папки ;
  • Чтение ;
  • Запись ;
  • Особые разрешения.

Для файлов отсутствует вид » Чтение содержимого папки «.

Если на закладке разрешений нажать кнопку » Дополнительно «, то можно осуществлять более тонкую настройку разрешений.

Разрешения NTFS могут быть явными или унаследованными. По умолчанию все папки или файлы наследуют разрешения того объекта-контейнера ( родительского объекта ), в котором они создаются. Использование унаследованных разрешений облегчает работу по управлению доступом. Если администратору нужно изменить права доступа для какой-то папки и всего ее содержимого, то достаточно сделать это для самой папки и изменения будут автоматически действовать на всю иерархию вложенных папок и документов. На рис. 8.36. видно, что группа » Администраторы » имеет унаследованные разрешения типа » Полный доступ » для папки Folder1. А на рис. 8.37. показано, что группа » Пользователи » имеет набор явно назначенных разрешений:

Рис.
8.37.

Изменить унаследованные разрешения нельзя. Если нажать на кнопку » Дополнительно «, то можно отменить наследование разрешений от родительского объекта. при этом система предложит два варианта отмены наследования: либо скопировать прежние унаследованные разрешения в виде явных разрешений, либо удалить их совсем.

Механизм применения разрешений

В пункте 8.1 было сказано, что каждый файл представляет собой набор атрибутов. Атрибут, который содержит информацию об NTFS-разрешения, называется списком управления доступом ( ACL, Access Control List ). Структура ACL приведена в табл. 8.4. Каждая запись в ACL называется элементом управления доступом ( ACE, Access Control Entry ).

Таблица
8.4.

ACL Идентификаторы безопасности Разрешения
ACE1 SID1 Разрешения для SID1
ACE2 SID2 Разрешения для SID2
ACE3 SID3 Разрешения для SID3
,,, ,,, ,,,
ACEn SIDn Разрешения для SIDn

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

Заметим, что когда администратор изменяет членство пользователя в группах (включает пользователя в новую группу или удаляет из какой-либо группы), то маркер доступа пользователя при этом автоматически НЕ изменяется. Для получения нового маркера доступа пользователь должен выйти из системы и снова войти в нее. Тогда он получит от контроллера домена новый маркер доступа, отражающий смену членства пользователя в группах

Порядок применения разрешений

Принцип применения NTFS-разрешений на доступ к файлу или папке тот же, что и для сетевых разрешений:

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

Но для разрешений NTFS схема немного усложняется. Разрешения применяются в следующем порядке:

  • явные запреты;
  • явные разрешения;
  • унаследованные запреты;
  • унаследованные разрешения.

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

Владение папкой или файлом

Пользователь, создавший папку или файл, является Владельцем данного объекта. Владелец объекта обладает правами изменения NTFS-разрешений для этого объекта, даже если ему запрещены другие виды доступа. Текущего владельца объекта можно увидеть, открыв Свойства объекта, затем закладку » Безопасность «, затем нажав кнопку » Дополнительно » и перейдя на закладку » Владелец » (рис. 8.38):

Рис.
8.38.

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

Совместное использование сетевых разрешений и разрешений NTFS

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

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

Управление доступом с помощью групп

Группы пользователей созданы специально для того, чтобы более эффективно управлять доступом к ресурсам. Если назначать права доступа к каждому ресурсу для каждого отдельного пользователя, то, во-первых, это очень трудоемкая работа, и во-вторых, затрудняется отслеживание изменений в правах доступа при смене каким-либо пользователем своей должности в подразделении или переходе в другое подразделение.

Повторим материал из раздела 4. Для более эффективного управления доступом рекомендуется следующая схема организации предоставления доступа:

  1. учетные записи пользователей ( accounts ) включаются в глобальные доменные группы ( global groups ) в соответствии со штатной структурой компании/организации и выполняемыми обязанностями;
  2. глобальные группы включаются в доменные локальные группы или локальные группы на каком-либо сервере ( domain local groups, local groups ) в соответствии с требуемыми правами доступа для того или иного ресурса;
  3. соответствующим локальным группам назначаются необходимые разрешения ( permissions ) к конкретным ресурсам.

Данная схема по первым буквам используемых объектов получила сокращенное название AGLP ( A ccounts to G lobal groups to L ocal groups to P ermissions). При такой схеме, если пользователь повышается или понижается в должности или переходит в другое подразделение, то нет необходимости просматривать все сетевые ресурсы, доступ к которым необходимо изменить для данного пользователя. Достаточно изменить соответствующим образом членство пользователя в глобальных группах, и права доступа к сетевым ресурсам для данного пользователя изменятся автоматически.

Добавим, что в основном режиме функционирования домена Active Directory (режимы » Windows 2000 основной » или » Windows 2003 «) с появлением вложенности групп и универсальных групп схема AGLP модифицируется в схему AGG…GULL…LP.

Понравилась статья? Поделить с друзьями:

Читайте также:

  • Как изменить почту на яндекс диске
  • Как изменить почту на портале поставщиков
  • Как изменить почту фортнайт
  • Как изменить почту вов сириус
  • Как изменить почту тарков

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии