Отключить параметр наследования разрешений windows server 2008

Добрый день ! Столкнулись с такой проблемой - при копировании с компьютера пользователя, входящего в Группу1 из папок, на которые стоят права доступа только Группе1, информации в другую папку на общем сетевом диске, на которую стоят права доступа для Всех, переносятся права на файлы и папки с доступом только Группе1 и другие пользователи их соотвественно не видят. Как убрать такое наследование прав при копировании ?
  • Remove From My Forums
  • General discussion

  • Добрый день ! Столкнулись с такой проблемой — при копировании с компьютера пользователя, входящего в Группу1 из папок, на которые стоят права доступа только Группе1, информации в другую папку на общем сетевом диске, на которую стоят права доступа
    для Всех, переносятся права на файлы и папки с доступом только Группе1 и другие пользователи их соотвественно не видят. Как убрать такое наследование прав при копировании ?

    • Changed type

      Wednesday, July 25, 2012 11:21 AM

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

  • Remove From My Forums
  • Question

  • Hi everyone,

    Does anyone know how to use group policy to disable «inheritable permission from this object’s parent» option automatically.

    I have a folder and inside that folder includes all users’ home folder(around 10,000). I would like to uncheck that inheritable permission from this object’s parent option for everyone. If I do it manually, I think it will take me forever. Is it possible
    to use group policy to automatic complete this task?

    Please help and thank you. 

Answers

  • Now I understand why you need to break inheritance. If Users have list folder and read rights with no inheritance control, then they have rights to the sub folders.

    The correct root folder model is to give users those rights to the current folder only. Open the advanced options and change the ‘Apply to’ field to current folder only. Then when new folders get created, the user group will not have rights to it and ABE
    can do it’s job.

    Thanks,

    Guy

    • Marked as answer by

      Tuesday, September 13, 2011 2:30 PM

  • Remove From My Forums
  • Question

  • Hi everyone,

    Does anyone know how to use group policy to disable «inheritable permission from this object’s parent» option automatically.

    I have a folder and inside that folder includes all users’ home folder(around 10,000). I would like to uncheck that inheritable permission from this object’s parent option for everyone. If I do it manually, I think it will take me forever. Is it possible
    to use group policy to automatic complete this task?

    Please help and thank you. 

Answers

  • Now I understand why you need to break inheritance. If Users have list folder and read rights with no inheritance control, then they have rights to the sub folders.

    The correct root folder model is to give users those rights to the current folder only. Open the advanced options and change the ‘Apply to’ field to current folder only. Then when new folders get created, the user group will not have rights to it and ABE
    can do it’s job.

    Thanks,

    Guy

    • Marked as answer by

      Tuesday, September 13, 2011 2:30 PM

Для управления NTFS разрешениями в Windows можно использовать встроенную утилиту iCACLS. Утилита командной строки icacls.exe позволяет получить или изменить списки управления доступом (ACL — Access Control Lists) на файлы и папки на файловой системе NTFS. В этой статье мы рассмотрим полезные команды управления ntfs разрешениями в Windows с помощью icacls.

Содержание:

  • Просмотр и изменения NTFS прав на папки и файлы с помощью icacls
  • Бэкап (экспорт) текущих NTFS разрешений каталога
  • Восстановление NTFS разрешений с помощью iCacls
  • Сброс NTFS разрешений в Windows
  • Копирование NTFS прав между папками

Просмотр и изменения NTFS прав на папки и файлы с помощью icacls

Текущие права доступа к любому объекту на NTFS томе можно вывести так:

icacls 'C:ShareVeteran'

icacls вывести ntfs разрешения каталога

Команда вернет список пользователей и групп, которым назначены права доступа. Права указываются с помощью сокращений:

  • F – полный доступ
  • M – изменение
  • RX – чтение и выполнение
  • R – только чтение
  • W – запись
  • D – удаление

Перед правами доступа указаны права наследования (применяются только к каталогам):

  • (OI)— наследование объектами
  • (CI)— наследование контейнерами
  • (IO)— только наследование
  • (I)– разрешение унаследовано от родительского объекта

С помощью icacls вы можете изменить права доступа на папку.

Чтобы предоставить группе fs01_Auditors домена resource права чтения и выполнения (RX) на каталог, выполните:

icacls 'C:ShareVeteran' /grant resourcefs01_Auditors:RX

icacls предоставить права на каталог

Чтобы удалить группу из ACL каталога:

icacls 'C:ShareVeteran' /remove resourcefs01_Auditors

С помощью icacls вы можете включить наследование NTFS прав с родительского каталога:

icacls 'C:ShareVeteran' /inheritance:e

icacls управление наследованием

Или отключить наследование с удалением всех наследованных ACEs:

icacls 'C:ShareVeteran' /inheritance:r

Также icacls можно использовать, чтобы изменить владельца файла или каталога:

icacls 'C:ShareVeteran' /setowner resourcea.ivanov /T /C /L /Q

icacls setowner изменить владельца

Бэкап (экспорт) текущих NTFS разрешений каталога

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

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

icacls 'C:ShareVeteran' /save c:psveteran_ntfs_perms.txt /t /c

Примечание. Ключ /t указывает, что нужно получить ACL для всех дочерних подкаталогов и файлов, ключ /c – позволяет игнорировать ошибки доступа. Добавив ключ /q можно отключить вывод на экран информации об успешных действиях при доступе к объектам файловой системы.

icacls экспорт ntfs разрешений

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

Successfully processed 3001 files; Failed processing 0 files

Successfully processed 3001 files; Failed processing 0 filesОткройте файл veteran_ntfs_perms.txt с помощью любого текстового редактора. Как вы видите, он содержит полный список папок и файлов в каталоге, и для каждого указаны текущие разрешения в формате SDDL (Security Descriptor Definition Language).

разрешения на файлы и каталоге в формате sddl

К примеру, текущие NTFS разрешения на корень папки такие:

D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI

Данная строка описывает доступ для нескольких групп или пользователей. Мы не будем подробно углубляться в SDDL синтаксис (при желании справку по нему можно найти на MSDN, или вкратце формат рассматривался в статье об управлении правами на службы Windows). Мы для примера разберем небольшой кусок SDDL, выбрав только одного субъекта:

(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)

A – тип доступа (Allow)

OICI – флаг наследования (OBJECT INHERIT+ CONTAINER INHERIT)

FA – тип разрешения (SDDL_FILE_ALL – все разрешено)

S-1-5-21-2340243621-32346796122-2349433313-24109193 – SID учетной записи или группы в домене, для которой заданы разрешения. Чтобы преобразовать SID в имя учетной записи или группы, воспользуйтесь командой:

$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])

$objUser.Value

AD sid to user

Или командами:

Get-ADUser -Identity SID

или

Get-ADGroup -Identity SID

Таким образом, мы узнали, что пользователь corpdvivan обладал полными правами (Full Control) на данный каталог.

Восстановление NTFS разрешений с помощью iCacls

С помощью ранее созданного файла veteran_ntfs_perms.txt вы можете восстановить NTFS разрешения на каталог. Чтобы задать NTFS права на объекты в каталоге в соответствии со значениями в файле с резервной копией ACL, выполните команду:

icacls C:share /restore c:PSveteran_ntfs_perms.txt /t /c

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

По окончанию восстановления разрешений также отобразится статистика о количестве обработанных файлов:

Successfully processed 114 files; Failed processing 0 files

восстановление ntfs разрешений каталога icacls.exe

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

Сброс NTFS разрешений в Windows

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

icacls C:shareveteran /reset /T /Q /C /RESET

Данная команда включит для указанного объекта наследование NTFS разрешений с родительского каталога, и удалит любые другие права.

icacls RESET сбросить ntfs разрешения

Копирование NTFS прав между папками

Вы можете использовать текстовый файл с резервной копией ACL для копирования NTFS разрешений с одного каталога на другой/

Сначала создайте бэкап NTFS разрешений корня папки:

icacls 'C:ShareVeteran' /save c:pssave_ntfs_perms.txt /c

А замет примените сохраненные ACL к целевой папке:

icacls e:share /restore c:pssave_ntfs_perms.txt /c

Это сработает, если исходная и целевая папка называются одинаково. А что делать, если имя целевой папки отличается? Например, вам нужно скопировать NTFS разрешения на каталог E:PublicDOCS

Проще всего открыть файл save_ntfs_perms.txt в блокноте и отредактировать имя каталога. С помощью функции Replace замените имя каталога Veteran на PublicDOCS.

вручную заменить целевой каталог при копировании NTFS разрешений папки

Затем импортируйте NTFS разрешения из файла и примените их к целевому каталогу:

icacls e: /restore c:pssave_ntfs_perms.txt /c

Модератор

Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows

6871 / 3818 / 477

Регистрация: 13.03.2013

Сообщений: 14,059

Записей в блоге: 9

1

Отключить функцию наследования прав в свойствах папки

30.12.2018, 08:26. Показов 11432. Ответов 9


Приветствую Вас, уважаемые коллеги и участники форума.
Задался, значит, такой целью: максимально защитить пользовательские ПК от вирусов-шифровальщиков.
Самая надежная защита во все времена была есть и остается — это бэкап.
Собственно, это и сподвигло меня к дальнейшим действиям, а именно: на ПК пользователей создается некая папка и обычный пользователь, далее все права наследуются этому пользователю, а у остальных права забираются, т.е. доступа к папке не имеет даже локальный администратор.
Далее, в эту папку сваливаются бэкап профиля пользователя и иных файлов, необходимых для работы.
Все бы ничего, но у администратора системы остается право изменить наследование прав в свою пользу (свойства папки, вкладка «Владелец), что не есть хорошо в плане сохранности бэкапов в случае попадания в систему вируса-шифровальщика.
Соственно, вопрос: каким образом запретить/отключить/отобрать у локального администратора право на изменение наследования разрешений на нужную мне папку?



0



Модератор

8251 / 5474 / 2248

Регистрация: 21.01.2014

Сообщений: 23,556

Записей в блоге: 3

30.12.2018, 15:17

2

Maks, насколько мне известно, такие вирусы работают от имени системы: им пофигу все локальные админы и их наличие/отсутствие… Этот способ вряд ли сработает…



0



Модератор

Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows

6871 / 3818 / 477

Регистрация: 13.03.2013

Сообщений: 14,059

Записей в блоге: 9

30.12.2018, 16:06

 [ТС]

3

Цитата
Сообщение от D1973
Посмотреть сообщение

такие вирусы работают от имени системы

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



0



Модератор

Эксперт HardwareЭксперт Windows

15148 / 7736 / 726

Регистрация: 03.01.2012

Сообщений: 31,802

30.12.2018, 16:47

4

Maks, А как будет происходить создание бэкапа?



0



Модератор

Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows

6871 / 3818 / 477

Регистрация: 13.03.2013

Сообщений: 14,059

Записей в блоге: 9

31.12.2018, 06:24

 [ТС]

5

Цитата
Сообщение от gecata
Посмотреть сообщение

А как будет происходить создание бэкапа?

Очень просто: от имени пользователя, у которого есть права на папку, создается задание в планировщике, куда подгружается скрипт на архивирование определенных файлов и папок.



0



5294 / 2483 / 987

Регистрация: 06.06.2017

Сообщений: 8,491

31.12.2018, 08:56

6

Цитата
Сообщение от Maks
Посмотреть сообщение

на ПК пользователей создается некая папка

А зачем на локальном ПК? Профили сетевыми должны быть, хранимыми на сервере. Там же (или на другой удалёнке, в облаке) бэкап логично создавать.



0



Эксперт по компьютерным сетям

4556 / 2003 / 425

Регистрация: 17.10.2015

Сообщений: 8,651

31.12.2018, 09:29

7

Цитата
Сообщение от FlasherX
Посмотреть сообщение

А зачем на локальном ПК?

впринцепе это просто упрощает/ускоряет выполнение самого бекапа. Аналогичной задачей задался и я ранее. Сделал сл. образом.
Т.к. у пользунов на ПК в 99% случаев два диска (c, d) и диск D, в основном пустой, так вот на нем я и сделал папку, в которой пользователю строго настрого рассказано, что нужно хранить все свои доки именно тут. Каждое утро, с помощью robocopy в фоне система делает бекап содержимого данной папки в другое место (пока пользун включится в работу — пройдет пол часа). Потом это всё архивируется и….. внимание!…. архив переименовывается в расширение от балды. Дело в том, что шифровальщики используют фильтр общеизвестных расширений, в том числе и архивов. Поэтому я задаю архиву расширение типа *.t_8 (для себя знаю, что это *.rar)
Помимо прочего, раз в неделю, на ПК пользуна так же в фоне запускается cron-ом задача по синхронизации папки архива на др. ПК (в определённое время привязывается сетевой диск файлопомойки, делается синхронизация содержимого папки, отключается диск)



0



Модератор

Эксперт по компьютерным сетямЭксперт HardwareЭксперт Windows

6871 / 3818 / 477

Регистрация: 13.03.2013

Сообщений: 14,059

Записей в блоге: 9

31.12.2018, 10:39

 [ТС]

8

Цитата
Сообщение от FlasherX
Посмотреть сообщение

А зачем на локальном ПК? Профили сетевыми должны быть, хранимыми на сервере. Там же (или на другой удалёнке, в облаке) бэкап логично создавать.

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

Цитата
Сообщение от romsan
Посмотреть сообщение

Потом это всё архивируется и….. внимание!…. архив переименовывается в расширение от балды. Дело в том, что шифровальщики используют фильтр общеизвестных расширений, в том числе и архивов. Поэтому я задаю архиву расширение типа *.t_8 (для себя знаю, что это *.rar)

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

Цитата
Сообщение от romsan
Посмотреть сообщение

(в определённое время привязывается сетевой диск файлопомойки, делается синхронизация содержимого папки, отключается диск)

Делаю также, еще локально создается один раздел диска, к которому на время бэкапа присваивается буква (дабы тот был доступен), а после создания бэкапа буква удаляется, тем самым делая диск недоступным ни для кого.
Собственно, на этом пока и остановился, но вопрос по сабжу остается актуальным.



0



5294 / 2483 / 987

Регистрация: 06.06.2017

Сообщений: 8,491

31.12.2018, 16:40

9

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



0



1796 / 811 / 111

Регистрация: 29.01.2013

Сообщений: 4,859

07.01.2019, 10:23

10

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

Не по теме:

Вообще, защитить NTFS от админа — полубесполезное занятие. Архитектура windows устроена так, что система может всё. Единственный вариант, который я вижу — перехитрить вредоноса.



1



Like this post? Please share to your friends:
  • Отключить политику паролей windows server 2019
  • Отключить папки в проводнике windows 10
  • Отключить показ последних файлов windows 10
  • Отключить папки в моем компьютере windows 10
  • Отключить поиск решений для указанных в отчетах проблем windows 10