Ntfs разрешения на папку. Зачем нужны разрешения ntfs

Защита файлов и общих папок

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

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

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

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

Большинство пользователей выкладывает файлы в открытый доступ для участников рабочих групп и p2p-сетей, для этого нужно:

  1. Введите название папки в графу Share Name (Имя общего ресурса)
  2. По желанию можно добавить несколько пояснительных слов в графу Comment (Описание).
  3. Нажмите OK.

Однако такой метод не всегда работает корректно, особенно на системах Windows XP с дисками, форматированными в NTFS (когда противоречивые NTFS-полномочия, вступая в конфликт, не допускают разрешённых пользователей к этим ресурсам; подробнее об этом чуть ниже). Ну, а самое печальное в том, что полномочия, заданные по умолчаниюWindows XP, предоставляют доступ к содержимому каталогов всем пользователям.

Также для того, чтобы назначить разные полномочия для разных пользователей, необходимо отключить активную по умолчанию опцию Windows XP Simple File Sharing (Простой общий доступ к файлам):

  1. Откройте проводник Windows Explorer
  2. Перейдите в меню Tools (Сервис)
  3. Выберите пункт Folder Options (Свойства папки)
  4. Перейдите на вкладку View (Вид).
  5. В окне Advanced Settings (Дополнительные параметры) уберите отметку с параметра Use Simple File Sharing (Recommended) | Использовать простой общий доступ к файлам (рекомендуется).
  6. Нажмите OK.

Для того, чтобы отключить разрешение для Всех (Everyone) и настроить уровень доступа для каждого пользователя индивидуально :

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

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

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

NTFS-полномочия

NTFS-полномочия в среде Windows предоставляют собой дополнительный набор параметров, которые можно настраивать для каждого отдельного файла или папки.

Для начала нужно убедиться, что настройки Windows XP позволяют работать с файловой системой NTFS:

  1. Нажмите Start (Пуск)
  2. Выберите команду Run (Выполнить)
  3. Введите в строку compmgmt.msc и нажмите OK. Откроется консоль Computer Management (Управление компьютером).
  4. Перейдите к объекту Disk Management (Управление дисками) на вкладке Storage (Запоминающие устройства) для того, чтобы узнать какой тип файловой системы используется на каждом диске.

Если диск или один из его разделов не отформатированы в NTFS, это можно исправить, если ввести convert X: /fs:ntfs, поставив вместо X букву нужного диска или раздела. Команда convert поменяет текущую файловую систему диска на NTFS, не уничтожая при этом хранящиеся на нём данные. Тем не менее, перед запуском команды на выполнение лучше сделать резервную копию содержимого диска.

Для настройки NTFS-разрешений:

Учтите, что по умолчанию подкаталоги наследуют свойства своих корневых директорий. Для того, чтобы это изменить, нажмите на кнопке Advanced (Дополнительно) на вкладке Security (Безопасность) диалогового окна Properties (Свойства).

Виды NTFS-полномочий:

  • Full Control (Полный доступ) - разрешает пользователям и группам выполнять любые операции с содержимым папки, включая просмотр файлов и подкаталогов, запуск файлов приложений, управление списком содержимого папки, чтение и запуск исполняемых файлов, изменение атрибутов файлов и папок, создание новых файлов, добавление данных в файлы, удаление файлов и подкаталогов, а также изменение полномочий доступа к файлам и папкам.
  • Modify (Изменить) - разрешает пользователям и группам осуществлять просмотр файлов и подкаталогов, запускать исполняемые файлы приложений, управлять списком содержимого папки, просматривать параметры папки, изменять атрибуты папок и файлов, создавать новые файлы и подкаталоги, добавлять данные в файлы и удалять файлов.
  • Read & Execute (Чтение и выполнение) - разрешает пользователям и группам просматривать список файлов и подкаталогов, запускать исполняемые файлы приложений, просматривать содержимое файлов, а также изменять атрибуты файлов и папок.
  • List Folder Contents (Список содержимого папки) - разрешает пользователям и группам осуществлять навигацию по каталогам, работать со списком содержимого папки, а также просматривать атрибуты файлов и папок.
  • Read (Чтение) - разрешает пользователям и группам просматривать содержимое папки, читать файлы и просматривать атрибуты файлов и папок.
  • Write (Запись) - разрешает пользователям и группам изменять атрибуты файлов и папок, создавать новые папки и файлы, а также изменять и дополнять содержимое файлов.

Для определения окончательных полномочий того или иного пользователя вычтите из NTFS-разрешений, предоставленных ему непосредственно (или как члену группы), все индивидуальные запреты (или запреты, который он получил в качестве члена группы). К примеру, если пользователь получил полный доступ (Full Control) к данной папке, но в то же время является членом группы, для которой запрещён полный доступ, то он в результате не будет обладать правами полного доступа. Если уровень доступа пользователя ограничен параметрами Read & Execute (Чтение и выполнение) и List Folder Contents (Список содержимого папки) в одной группе, и в то же время ему запрёщен доступ на уровне List Folder Contents (Список содержимого папки), то в результате его NTFS-полномочия будут ограничены только уровнем Read & Execute (Чтение и выполнение). По этой причине администратором следует подходить к запретам с особой осторожностью, поскольку запрещённые функции имеют приоритет перед разрешёнными для того же пользователя или группы.

Windows XP снабжена удобной утилитой для подтверждения действующих разрешений пользователя или группы :


Сочетание NTFS-разрешений с полномочиями общего доступа

Звучит многообещающе. Казалось бы, достаточно грамотно раздать пользователям соответствующие полномочия - и можно начинать работу. Однако на самом деле не всё так просто. Полномочия общего доступа и NTFS-разрешения должны чётко определять, какими реальными правами доступа обладают пользователи и группы, но, к сожалению, они часто конфликтуют между собой. Для определения окончательных полномочий того или иного пользователя сравните итоговые полномочия общего доступа с итоговыми NTFS-разрешениями. Помните, что ограничения доступа будут доминировать над разрешениями. Например, если итоговые NTFS-права доступа пользователя ограниченны уровнем Read and Execute (Чтение и выполнение), а итоговые права общего доступа - уровнем Full Control (Полный доступ), система не предоставит этому пользователю действительные права полного доступа, а выберет наиболее приоритетный уровень, в данном случае это NTFS-разрешение на чтение и выполнение. Всегда необходимо помнить о том, что итоговые ограничения в правах превалируют над итоговыми разрешениями. Это очень важный момент, который легко забывается, после чего доставляет пользователям немало хлопот. Поэтому тщательно рассчитывайте соотношения запретов и разрешений полномочий NTFS и общего доступа

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

Существует шесть основных (basic) разрешений, которые являются комбинацией из 14 дополнительных (advanced) разрешений.

ОСНОВНЫЕ РАЗРЕШЕНИЯ:

  • Полный доступ (fullcontrol) – полный доступ к папке или файлу, с возможностью изменять права доступа и правила аудита к папкам и файлам
  • Изменение (modify) – право чтения, изменения, просмотра содержимого папки, удаления папок/файлов и запуска выполняемых файлов. Включает в себя Чтение и выполнение (readandexecute), Запись (write) и Удаление (delete).
  • Чтение и выполнение (readandexecute) – право открывать папки и файлы для чтения, без возможности записи. Также возможен запуск выполняемых файлов.
  • Список содержимого папки (listdirectory) – право просматривать содержимое папки
  • Чтение (read) – право открывать папки и файлы для чтения, без возможности записи. Включает в себя Содержание папки / Чтение данных (readdata), Чтение атрибутов (readattributes), Чтение дополнительных атрибутов (readextendedattributes) и Чтение разрешений (readpermissions)
  • Запись (write) – право создавать папки и файлы, модифицировать файлы. Включает в себя Создание файлов / Запись данных (writedata), Создание папок / Дозапись данных (appenddata), Запись атрибутов (writeattributes) и Запись дополнительных атрибутов (writeextendedattributes)

ДОПОЛНИТЕЛЬНЫЕ РАЗРЕШЕНИЯ

  • Траверс папок / выполнение файлов (traverse) – право запускать и читать файлы, независимо от прав доступа к папке. Доступа к папке у пользователя не будет, (что находится в папке останется загадкой) но файлы в папке будут доступны по прямой ссылке (полный, относительный или UNC-путь). Можно поставить на папку Траверс папок, а на файл любые другие разрешения, которые нужны пользователю для работы. Создавать и удалять файлы в папке у пользователя не получится.
  • Содержание папки / Чтение данных (readdata) – право просматривать содержимое папки без возможности изменения. Запускать и открывать файлы в просматриваемой папке нельзя
  • Чтение атрибутов (readattributes) – право просматривать атрибуты (FileAttributes) папки или файла. Просматривать содержимое папки или файлов или изменить какие-либо атрибуты нельзя.
  • Чтение дополнительных атрибутов (readextendedattributes) – право просматривать дополнительные атрибуты папки или файла.
  • Создание файлов / запись данных (writedata) – дает пользователю возможность создавать файлы в папке, в которую у него нет доступа. Можно копировать файлы в папку и создавать в папке новые файлы. Нельзя просматривать содержимое папки, создавать новые папки и изменять уже существующие файлы. Пользователь не сможет изменить какой-либо файл, даже если он является владельцем этого файла – только создавать.
  • Создание папок / дозапись данных (appenddata) – дает пользователю возможность создавать подпапки в папке и добавлять данные в конец файла, не изменяя существующее содержание.

В данной статье подробно рассмотрены вопросы использования программы Xcacls.exe…

В данной статье подробно рассмотрены вопросы использования программы Xcacls.exe (средства Extended Change Access Control List) для просмотра и изменения разрешений NTFS для файлов и папок.
С помощью Xcacls.exe можно установить все параметры безопасности для файловой системы, доступ к которым осуществляется из командной строки в проводнике (с этой целью Xcacls.exe отображает и изменяет списки управления доступом (ACL) файлов).
Рекомендуется использовать Xcacls.exe для автоматической установки Windows 2000 Professional или Windows 2000 Server. С ее помощью устанавливаются исходные права доступа для папок, в которых находятся файлы операционной системы. В процессе переноса программного обеспечения на серверы и рабочие станции Xcacls.exe обеспечивает одноступенчатую защиту от удаления пользователем файлов и папок.
Программа Xcacls.exe входит в состав пакета Windows 2000 Resource Kit . В центре загрузки Microsoft доступен следующий файл:

Свернуть это изображениеРазвернуть это изображение

Синтаксис Xcacls.exe

xcacls имя_файла ] ]

где имя_файла - имя файла или папки, к которой обычно применяется список или элемент управления доступом. Можно использовать любые стандартные подстановочные знаки.
/T Рекурсивно просмотреть текущую и все вложенные папки, назначая указанные права доступа всем файлам и папкам, которые удовлетворяют требованиям.
/E - редактировать список управления доступом (не заменяя его). Например, после выполнения команды XCACLS test.dat /G Administrator:F доступом к файлу Test.dat обладает только учетная запись администратора. Все примененные ранее элементы управления доступом отменяются.
/C - Xcacls.exe продолжает работу даже после получения сообщения «Отказано в доступе». Если параметр /C не указан, появление этого сообщения приводит к остановке программы.
/G - пользователь:разрешение;особ_доступ Предоставить пользователю доступ к определенному файлу или папке.

  • Переменная разрешение служит для назначения указанных прав доступа к файлам и определения особой маски доступа к файлам для папок. Переменная разрешение принимает следующие значения:
    • R - чтение
    • C - изменение (запись)
    • F - полный доступ
    • P - изменение разрешений (особый доступ)
    • O - смена владельца (особый доступ)
    • X - запуск (особый доступ)
    • E - чтение (особый доступ)
    • W - запись (особый доступ)
    • D - удаление (особый доступ)
  • Переменная особ_доступ (особый доступ) используется только с папками; принимает те же значения, что и переменная разрешение, а также следующее особое значение:
    • T - значение не определено - назначить элемент управления доступом для каталога без указания элемента, который используется для создаваемых в этой папке файлов. Должно быть указано хотя бы одно право доступа. Текст между точкой с запятой (;) и параметром Т не учитывается. Примечания.
      • Параметры доступа для файлов (для папок - особого доступа к файлам и папкам) идентичны. Подробное описание этих параметров см. в документации к системе Windows 2000.
      • Прочие параметры (также назначаются в проводнике) представляют собой подмножества всех возможных сочетаний основных прав доступа. По этой причине особые права доступа к папкам (например, LIST или READ) отсутствуют.

/R пользователь Отменить все права доступа для указанного пользователя.
/P пользователь:разрешение;особ_доступ - заменить права доступа для указанного пользователя. Переменные «разрешение» и «особ_доступ» определяются по правилам, описанным для параметра /G. См. раздел этой статьи.
/D пользователь - запретить пользователю доступ к файлу или папке.
/Y - Отменить вывод запроса на подтверждение изменения прав доступа. Программа CACLS выводит такой запрос по умолчанию. По этой причине, если команда CACLS используется в составе пакетного файла, его выполнение прерывается до получения ответа на запрос. Параметр /Y используется для подавления вывода окна запроса в случае использования Xcacls.exe в пакетном режиме.

Использование программы Xcacls.exe для просмотра разрешений

Программу Xcacls.exe также можно использовать для просмотра разрешений для файлов и папок. Например, введите в командной строке xcacls C:\winnt и нажмите клавишу ВВОД. Обычно программа возвращает следующий результат.

C:\WINNT BUILTIN\Users:R BUILTIN\Users:(OI)(CI)(IO)(special access:) GENERIC_READ GENERIC_EXECUTE BUILTIN\Power Users:C BUILTIN\Power Users:(OI)(CI)(IO)C BUILTIN\Administrators:F BUILTIN\Administrators:(OI)(CI)(IO)F NT AUTHORITY\SYSTEM:F NT AUTHORITY\SYSTEM:(OI)(CI)(IO)F BUILTIN\Administrators:F CREATOR OWNER:(OI)(CI)(IO)F

Флаги списка управления доступом имеют следующее значение.

  • IO : Inherit Only (только наследование) - данный элемент управления доступом не применяется к текущему объекту.
  • CI : Container Inherit (наследование контейнерами) - данный элемент управления доступом наследуется контейнерами более низкого уровня.
  • OI : Object Inherit (наследование объектами) - данный элемент управления доступом наследуется файлами более низкого уровня.
  • NP : Non-Propagate (не распространять) - объект более низкого уровня не передает дальше унаследованный элемент управления доступом.

Буква в конце каждой строки означает разрешение. Например:

  • F - полный доступ
  • C - изменение
  • W - запись
Примеры использования Xcacls.exe
Пример 1

Чтобы заменить список ACL для всех файлов и папок в текущей папке без просмотра вложенных папок и вывода запроса на подтверждение, введите в командной строке XCACLS *.* /G administrator:RW /Y и нажмите клавишу ВВОД.

Пример 2

Добавленные в данном примере элементы управления доступом также наследуют элементы управления доступом новых файлов, которые создаются в данной папке. После ввода данной команды пользователь TestUser получает право читать, изменять, запускать и удалять все файлы, которые создаются в данной папке, но имеет разрешение только на чтение и запись для самой папки. Введите в командной строке XCACLS *.* /G TestUser:RWED;RW /E и нажмите клавишу ВВОД.

Пример 3

В данном примере устанавливаются разрешения на чтение и запись в папку без создания наследуемого элемента для новых файлов. По этой причине для пользователя TestUser создаваемым в данной папке файлам не назначается элемент управления доступом. Для существующих файлов создается элемент управления доступом с разрешениями на чтение. Введите в командной строке XCACLS *.* /G TestUser:R;RW /E и нажмите клавишу ВВОД.

Инструкции по назначению разрешений NTFS

Назначая разрешения NTFS, принимайте во внимание следующее.

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

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

Для чего в большинстве случаев в организации нужен сервер? Active Directory, RDS, сервер печати и еще куча мелких и крупных сервисов. Самая заметная всем роль, пожалуй, это файловый сервер. С ним люди, в отличие, от других ролей работают осознаннее всего. Они запоминают в какой папке что лежит, где находятся сканы документов, где их отчеты, где факсы, где общая папка, в которой можно все, куда доступ только одному из отделов, куда другому, а о некоторых они вообще не догадываются

О доступе к сетевым и локальным папкам на сервере я и хочу поговорить.

Доступ к общим ресурсам на сервере осуществляется, как все прекрасно знают, по протоколу SMB уже 3.0. Доступ по сети к папкам можно ограничивать SMB и NTFS-разрешениями. SMB-разрешения работают только при доступе к общей папке по сети и не имеют никакого влияния на доступность той или иной папки локально. NTFS-разрешения работают, как по сети, так и локально, обеспечивая намного больше гибкости в создании прав доступа. SMB и NTFS разрешения работают не отдельно, а дополняют друг друга, по принципу наибольшего ограничения прав.

Для того, чтобы отдать папку в общий доступ в Server 2012 в группе SMB Share Cmdlets , появился командлет New-SMBShare. На примере этого командлета мы увидим все возможности, доступные при создании общей папки, кроме кластерных конфигураций (это отдельная большая тема).

Создание новой общей папки выглядит очень просто:
net share homefolder=s:\ivanivanov /grant:"admin",full /grant:"folderowner",change /grant:"manager",read /cache:programs /remark:"Ivanov" или
new-smbshare homefolder s:\ivanivanov –cachingmode programs –fullaccess admin –changeaccess folderowner –readaccess manager –noaccess all –folderenumerationmode accessbased -description "Ivanov"

Разбираемся:

-name имя общей папки в сети, может отличаться от имени папки на локальном компьютере. Имеет ограничение в 80 символов, нельзя использовать имена pipe и mailslot.

Path путь к локальной папке, которую нужно отдать в общий доступ. Путь должен быть полным, от корня диска.

Cachingmode настройка автономности файлов в общей папке.

Что такое автономный файл?

Автономный файл – это копия файла, находящегося на сервере. Эта копия находится на локальном компьютере и позволяет работать с файлом без подключения к серверу. При подключении изменения синхронизируются. Синхронизируются в обе стороны: если вы сделали изменения в своем автономном файле – при следующем подключении файл на сервере будет изменен; если кто-то сделал изменения на сервере – то ваша локальная копия будет изменена. Если изменения произошли в обоих файлах сразу – получаем ошибку синхронизации и придется выбирать, какую версию сохранить. Для совместной работы использовать эту возможность я бы не стал, но если для каждого пользователя наделать шар и ограничить доступ для других чтением, без возможности записи получаем следующие плюшки:

  • Работа не зависит от сети – может сгореть свитч, может перезагружаться сервер, может оборваться провод или выключиться точка доступа – пользователь работает со своей копией, не замечая, что у вас там какая-то авария, при восстановлении сетевого подключения его работа уходит на сервер.
  • Пользователь может работать работу где угодно: на даче, в автобусе, в самолете – в тех местах, где подключение к VPN по каким-то причинам недоступно.
  • Если даже пользователь работает через VPN, но подключение или очень медленное, или постоянно обрывается – проще работать с автономной копией и синхронизировать изменения, чем пытаться что-то сделать на сервере.
  • Пользователь сам может выбирать что и когда синхронизировать, если дать ему такую возможность.

Принимает следующие значения:
  • none – файлы недоступны автономно, для доступа к файлам нужен доступ к серверу
  • manual – пользователи сами выбирают файлы, которые будут доступны автономно
  • programs – все в папке доступно автономно (документы и программы (файлы с расширением *.exe, *.dll))
  • documents – документы доступны, программы нет
  • branchcache – кэширование вместо локального компьютера пользователя происходит на серверах BranchCache, пользователи сами выбирают автономные файлы
-noaccess, -readaccess, -changeaccess, -fullaccess разрешения общего доступа (share permissions).

У этих разрешений есть одно большое преимущество – они очень простые.

Noaccess secretary,steward – секретарше и завхозу нечего делать в общих папках бухгалтерии
-readaccess auditor – аудитор, проверяющий работу бухгалтерии может видеть имена файлов и подпапок в общей папке, открывать файлы для чтения, запускать программы.
-changeaccess accountant – бухгалтеры в своей общей папке могут создавать файлы и подпапки, изменять существующие файлы, удалять файлы и подпапки
-fullaccess admin – fullaccess это readaccess+changeaccess плюс возможность изменять разрешения.

При создании общей папки автоматически применяется наиболее ограничивающее правило – группе «Все» дается право на чтение.

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

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

Description описание общего ресурса, которое видно в сетевом окружении. Описание – это очень хорошая вещь, которой многие пренебрегают.

Encryptdata шифрование

В SMB до версии 3.0 единственным способом защитить трафик от файлового сервера клиенту был VPN. Как его реализовать зависело полностью от предпочтений системного администратора: SSL, PPTP, IPSEC-туннели или еще что-нибудь. В Server 2012 шифрование работает из коробки, в обычной локальной сети или через недоверенные сети, не требуя никаких специальных инфраструктурных решений. Его можно включить как для всего сервера, так и для отдельных общих папок. Алгоритмом шифрования в SMB 3.0 является AES-CCM , алгоритмом хеширования вместо HMAC-SHA256 стал AES-CMAC . Хорошая новость в том, что SMB 3.0 поддерживает аппаратный AES (AES-NI), плохая новость в том, что Россия не поддерживает AES-NI.

Чем грозит включение шифрования? Тем, что работать с зашифрованными общими папками смогут только клиенты, поддерживающие SMB 3.0, то есть Windows 8. Причина опять же, максимально допустимое ограничение прав пользователей. Предполагается, что администратор знает, что он делает и при необходимости даст доступ для клиентов с другой версией SMB. Но так как SMB 3.0 использует новые алгоритмы шифрования и хеширования трафик клиентов с другой версией SMB шифроваться не будет, нужен VPN. Пустить всех клиентов на файловый сервер с включенным шифрованием поможет команда set-smbserverconfiguration –rejectunencryptedaccess $false
В конфигурации по умолчанию (запрещен нешифрованный трафик к зашифрованным общим папкам), при попытке доступа к папке клиента с версией SMB ниже 3.0 на клиенте мы получим «Ошибку доступа». На сервере в журнал Microsoft-Windows-SmbServer/Operational будет добавлено событие 1003, в котором можно будет найти IP-адрес клиента, пытавшегося получить доступ.

Шифрование SMB и EFS – это разные вещи, никак не связанные друг с другом, то есть его можно применять на FAT и ReFS томах.

Folderenumerationmode Это Access-Based Enumeration. С включенным Access-Based Enumeration пользователи, не имеющие доступа к общей папке, просто не увидят ее на файловом сервере и будет меньше вопросов, почему у меня нет доступа к той или этой папке. Пользователь видит свои доступные папки и не пытается лезть в чужие дела. По умолчанию – выключено.

  • accessbased – включить
  • unrestricted – выключить
-temporary Этот ключ создает временную общую папку, доступ к которой будет прекращен после перезагрузки сервера. По умолчанию создаются постоянные общие папки.

NTFS-разрешения

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

Существует шесть основных (basic) разрешений, которые являются комбинацией из 14 дополнительных (advanced) разрешений.

Основные разрешения
Полный доступ (fullcontrol) – полный доступ к папке или файлу, с возможностью изменять права доступа и правила аудита к папкам и файлам

Изменение (modify) – право чтения, изменения, просмотра содержимого папки, удаления папок/файлов и запуска выполняемых файлов. Включает в себя Чтение и выполнение (readandexecute), Запись (write) и Удаление (delete).

Чтение и выполнение (readandexecute) – право открывать папки и файлы для чтения, без возможности записи. Также возможен запуск выполняемых файлов.

Список содержимого папки (listdirectory) – право просматривать содержимое папки

Чтение (read) – право открывать папки и файлы для чтения, без возможности записи. Включает в себя Содержание папки / Чтение данных (readdata), Чтение атрибутов (readattributes), Чтение дополнительных атрибутов (readextendedattributes) и Чтение разрешений (readpermissions)

Запись (write) – право создавать папки и файлы, модифицировать файлы. Включает в себя Создание файлов / Запись данных (writedata), Создание папок / Дозапись данных (appenddata), Запись атрибутов (writeattributes) и Запись дополнительных атрибутов (writeextendedattributes)

Дополнительные разрешения
Я ставил на папку только 1 из 14 разрешений и смотрел, что получается. В реальном мире, в большинстве случаев хватает основных разрешений, но мне было интересно поведение папок и файлов с максимально урезанными правами.

Траверс папок / выполнение файлов (traverse) – право запускать и читать файлы, независимо от прав доступа к папке. Доступа к папке у пользователя не будет, (что находится в папке останется загадкой) но файлы в папке будут доступны по прямой ссылке (полный, относительный или UNC-путь). Можно поставить на папку Траверс папок, а на файл любые другие разрешения, которые нужны пользователю для работы. Создавать и удалять файлы в папке у пользователя не получится.

Чтение атрибутов (readattributes) – право просматривать атрибуты (FileAttributes) папки или файла.
Просматривать содержимое папки или файлов или изменить какие-либо атрибуты нельзя.

Чтение дополнительных атрибутов (readextendedattributes) – право просматривать дополнительные атрибуты папки или файла.

Единственное, что я смог найти по дополнительным атрибутам – это то, что они используются для обеспечения обратной совместимости с приложениями OS/2. (Windows Internals, Part 2: Covering Windows Server 2008 R2 and Windows 7). Больше мне о них ничего не известно.

Создание файлов / запись данных (writedata) – дает пользователю возможность создавать файлы в папке, в которую у него нет доступа. Можно копировать файлы в папку и создавать в папке новые файлы. Нельзя просматривать содержимое папки, создавать новые папки и изменять уже существующие файлы. Пользователь не сможет изменить какой-либо файл, даже если он является владельцем этого файла – только создавать.

Создание папок / дозапись данных (appenddata) – дает пользователю возможность создавать подпапки в папке и добавлять данные в конец файла, не изменяя существующее содержание.

Проверка

C созданием подпапок все понятно: ni c:\testperms\testappend –itemtype directory отработает, как ожидается - создаст в недоступной для просмотра пользователем папке testperms подпапку testappend. Попробуем добавить строку в конец файла – сэмулируем ведение какого-нибудь лога. newevent >> c:\testperms\user.log Отказано в доступе.
Хм… В CMD не работает. А если так. ac c:\testperms\user.log newevent ac: Отказано в доступе по пути "C:\testperms\user.log".
А по конвейеру? "newevent" | out-file c:\testperms\user.log -append out-file: Отказано в доступе по пути "C:\testperms\user.log".
И так не работает.

Начинаем сеанс черной магии: используем класс File, метод AppendText . Получаем объект лога.
$log = ::appendtext("c:\testperms\user.log") Исключение при вызове "AppendText" с "1" аргументами: "Отказано в доступе по пути "c:\testperms\user.log"."
Думаю, что AppendAllText пробовать уже не стоит
$log = ::appendalltext("c:\testperms\user.log","newevent") Исключение при вызове "AppendAllText" с "2" аргументами: "Отказано в доступе по пути "c:\testperms\user.log"."
Дело, в принципе, ясное. Только права на дозапись данных в файл вышеперечисленным способам не хватает, им нужна запись в файл. Но вместе с этим мы дадим возможность на изменение файла, а не только добавление записей, то есть открываем потенциальную возможность уничтожить все содержимое файла.

Нам нужно пересмотреть концепцию: давайте будем не получать объект лога, а создадим новый, в котором зададим все интересующие нас параметры. Нам нужно что-то где мы можем явно указать права доступа. Нам нужен FileStream , а конкретнее нам поможет FileStream Constructor (String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) . Нужны следующие параметры:

  • Путь к файлу – понятно
  • Как открывать файл – открыть файл и найти конец файла
  • Права доступа к файлу – дозапись данных
  • Доступ для других объектов FileStream – не нужен
  • Размер буфера – по умолчанию 8 байт
  • Дополнительные опции - нет
Получается примерно так:
$log = new-object io.filestream("c:\testperms\user.log",::append,::appenddata,::none,8,::none)
Работает! Объект лога мы создали, попробуем туда что-нибудь записать . Метод FileStream.Write принимает входящие значения в байтах. Перегоняем событие, которое мы хотим записать, в байты – класс Encoding , метод GetEncoding (нам не нужны кракозябры на выходе) и GetBytes (собственно, конвертирование)
$event = "Произошло новое событие." $eventbytes = ::getencoding("windows-1251").getbytes($event)
Параметры FileStream.Write:
Что писать; откуда начинать писать; количество байт, которые нужно записать
Записываем:
$log.write($eventbytes,0,$eventbytes.count)
Проверяем.
gc c:\testperms\user.log gc: Отказано в доступе по пути "C:\testperms\user.log ".
Все нормально, у пользователя нет прав на просмотр написанного. Перелогиниваемся под администратором.
gc c:\testperms\user.log Произошло новое событие.
Все работает.

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

Вывод из этого простой: в батниках реализовать безопасное логирование чего-либо не получится, PowerShell спасает умение работать c .NET объектами.


Запись атрибутов (writeattributes) – разрешаем пользователю изменять атрибуты файла или папки. Вроде все просто. Но вот только что ответить на вопрос: «Фотографии моих котиков занимают почти все место в моем профиле и у меня не остается места для деловой переписки. Я бы хотел сжать папку с котиками, но у меня требуют прав администратора. Вы же говорили, что у меня есть право менять атрибуты папок. Это же атрибут? Почему я не могу его поменять?»

Да, пользователю с правом записи атрибутов можно менять почти все видимые атрибуты файлов и папок, кроме атрибутов сжатия и шифрования. Технически, пользователю дается право выполнять функцию SetFileAttributes . А сжатие файлов выполняется функцией DeviceIOControl , которой нужно передать параметр FSCTL_SET_COMPRESSION и сжатие файлов является далеко не единственной ее работой. С помощью этой функции мы можем управлять всеми устройствами и их ресурсами в системе и, наверное, дать пользователю это право на выполнение этой функции означает сделать его администратором.

С шифрованием история похожа: функция EncryptFile , которая как раз и отвечает за шифрование, требует, чтобы у пользователя были права Содержание папки / Чтение данных, Создание файлов / Запись данных, Чтение атрибутов, Запись атрибутов и Синхронизация на объект. Без них ничего не получится.

Запись расширенных атрибутов (writextendedattributes) . Ну это тех, которые используются для обратной совместимости с приложениями OS/2, ага. Ну, а еще в расширенные атрибуты файла C:\Windows\system32\services.exe с недавних пор начали записывать троянов (ZeroAccess.C). Может быть стоит их отключать на самом верхнем уровне? На этот вопрос я не могу дать ответ, теоретически – может быть и стоит, практически в продакшене – я не пробовал.

Удаление подпапок и файлов. (deletesubdirectoriesandfiles) Интересное разрешение, применяемое только к папкам. Суть в том, чтобы разрешить пользователю удалять подпапки и файлы в родительской папке, не давая разрешения Удаление.

Допустим, есть каталог товаров, в который пользователи заносят данные. Есть родительская папка Catalog, внутри подпапки по алфавиту, от A до Z, внутри них какие-нибудь наименования. Наименования меняются каждый день, что-то добавляется, что-то изменяется, что-то устаревает и устаревшую информацию нужно удалять. Но будет не очень хорошо, если кто-нибудь по запарке или злому умыслу грохнет весь каталог K, что очень возможно, если у пользователей есть право Удаление. Если забрать у пользователей право Удаление, то администратору можно смело менять работу, потому что он весь день будет выполнять запросы на удаление того или иного наименования.

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

Удаление (delete). Здесь все просто. Удаление - это удаление. Не работает без права Чтение.

Чтение разрешений (readpermissions) дает право пользователю просматривать разрешения на папке или файле. Нет права – пользователь не видит разрешения на вкладке «Безопасность»

Смена разрешений (changepermissions) – разрешает пользователю менять разрешения, по сути делает пользователя администратором папки. Можно использовать, например, для делегирования полномочий техподдержке. Без права чтения разрешений не имеет никакого смысла. Смена разрешений не подразумевает смену владельца папки.

Смена владельца (takeownership) – для начала, кто такой владелец. Владелец – это пользователь, создавший файл или папку.

Особенностью владельца является то, что у него есть полный доступ к созданной папке, он может раздавать разрешения на свою созданную папку, но что важнее – никто не может лишить владельца права изменять разрешения на его папку или файл. Если Вася создал папку, дал полный доступ Пете, а Петя зашел и грохнул доступ пользователей к папке вообще и Васи в частности, то Вася без особого труда может восстановить статус-кво, так как он является владельцем папки. Изменить владельца папки Петя не сможет, даже если у него есть разрешение Смена владельца. Более того, даже Вася не может изменить владельца, несмотря на то, что папку создал он. Право Смена владельца относится только к группе Администраторы или Администраторы домена.

Но если Петя внутри Васиной папки создал файл и не дал Васе доступа к нему, то Васе остается только думать и гадать, что же внутри этого файла такого секретного. Вася не сможет изменить права доступа к файлу, потому что владельцем файла является Петя. Также Вася не сможет изменить владельца файла – изменение владельца подконтейнеров и объектов также является привилегией группы Администраторы, к которой Вася не относится. Единственный оставшийся у Васи вариант – смотреть на Петин файл внутри своей папки.

Управляем

В CMD для управления разрешениями используется хорошо всем известная icacls. В PowerShell управление NTFS-разрешениями выглядит примерно так:

Получить объект, на который мы будем устанавливать разрешения
$acl = get-acl c:\testperms
Соорудить строку с правами с помощью класса System.Security.AccessControl.FileSystemAccessRule . Можем задать следующие параметры:

  • группа/имя пользователя – для кого делаем ACL
  • разрешение – ACE (принимает значения, указанные в посте)
  • применяется к – в GUI это выпадающий список в дополнительных параметрах безопасности. На самом деле принимает всего 3 значения: none (только к этой папке), containerinherit (применяется ко всем подпапкам), objectinherit (применяется ко всем файлам). Значения можно комбинировать.
  • применять эти разрешения к объектам и контейнерам только внутри этого контейнера (чекбокс в GUI) – также 3 значения: none (флажок снят), inheritonly (ACE применяется только к выбранному типу объекта), nopropagateinherit (применять разрешения только внутри этого контейнера).
  • правило – разрешить (allow) или запретить (deny)
Строка с правами по умолчанию будет выглядеть так:
$permission = “contoso.com\admin”,”fullcontrol”,”containerinherit,objectinherit”,”none”,”allow”
Сделать новую ACE с определенными выше разрешениями
$ace = new-object security.accesscontrol.filesystemaccessrule $permission
И применить свежесозданную ACE к объекту
$acl.setaccessrule($ace) $acl | set-acl c:\testperms

Применяем на практике

Вооружившись знаниями о SMB и NTFS разрешениях, комбинируя их можно создавать правила доступа абсолютно любой сложности. Несколько примеров:
Тип SMB-разрешения NTFS-разрешения
Папка для всех (Public) Пользователи – Чтение/запись Пользователи – Изменение
Черный ящик. Пользователи скидывают конфиденциальные отчеты, предложения, кляузы – руководство читает. Пользователи – Чтение/запись
Руководство – Чтение/запись
Пользователи – Запись, применяется Только для этой папки. Предполагается, что запись файла в эту папку – билет в один конец, так как удобного способа редактирования без права Просмотр содержимого папки сохраненных в этой папке файлов не существует (удобного для пользователей способа записи в такую папку, кстати, тоже не существует). А просмотр нарушает конфиденциальность.

Руководство – Изменение.

Приложения Пользователи – Чтение Пользователи – Чтение, Чтение и выполнение, Просмотр содержимого папки.

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

Профили пользователей Каждому пользователю – Чтение/запись на его папку Каждому пользователю – Изменение на его папку.

Разрешения в Windows – противоречивая штука. С одной стороны – основные разрешения довольно просты и покрывают 90% случаев. Но когда начинает требоваться более тонкая настройка: разные группы пользователей, одна папка, требования безопасности к общим папкам – то разобраться с дополнительными разрешениями, наследованиями и владельцами бывает довольно сложно.

Надеюсь, я не запутал никого еще больше.

Компьютеры, работающие под управлением операционных систем Windows, могут работать с различными файловыми системами, такими как FAT32 и NTFS. Не вдаваясь в подобности можно сказать одно, что отличаются они главным – файловая система NTFS позволяет настраивать параметры безопасности для каждого файла или папки(каталога). Т.е. для каждого файла или папки файловая система NTFS хранит так называемые списки ACL(Access Control List), в которых перечислены все пользователи и группы, которые имеют определенные права доступа к данному файлу или папке. Файловая система FAT32 такой возможности лишена.

В файловой системе NTFS каждый файл или папка могут иметь следующие права безопасности:

  • Чтение — Разрешает обзор папок и просмотр списка файлов и подпапок, просмотр и доступ к содержимому файла;
  • Запись — Разрешает добавление файлов и подпапок, запись данных в файл;
  • Чтение и Выполнение — Разрешает обзор папок и просмотр списка файлов и подпапок, разрешает просмотр и доступ к содержимому файла, а также запуск исполняемого файла;
  • Список содержимого папки — Разрешает обзор папок и просмотр только списка файлов и подпапок. Доступ к содержимому файла это разрешение не дает!;
  • Изменить — Разрешает просмотр содержимого и создание файлов и подпапок, удаление папки, чтение и запись данных в файл, удаление файла;
  • Полный доступ — Разрешает просмотр содержимого, а также создание, изменение и удаление файлов и подпапок, чтение и запись данных, а также изменение и удаление файла

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

Список особых прав доступа к файлам и папкам:

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

!!!Все базовые и особые права являются как разрешающими так и запрещающими.

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

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

Старайтесь не пользоваться назначением прав, непосредственно, на файлы, назначайте права на папки.

!!! Старайтесь назначать права только для групп, это значительно упрощает администрирование. Назначение прав для конкретных пользователей не рекомендуется фирмой Microsoft. Не забывайте, что в группу могут входить не только пользователи, но и другие группы.

Например. Если компьютер включен в домен, то в его локальную группу «Пользователи» автоматически добавляется группа «Domain Users»(пользователи домена), а в локальную группу «Администраторы» автоматически добавляется группа «Domain Admins»(администраторы домена), и соответственно, назначая на какую-либо папку права группе локальных пользователей, вы автоматически назначаете права для всех пользователей домена.

Не расстраивайтесь если все описанное выше сразу не очень понятно. Примеры и самостоятельная работа быстро исправят положение!

Переходим к конкретике.

Все примеры я буду показывать на примере окон Windows XP. В Windows 7 и выше сущность осталась идентичной, только окон стало немного больше.

Итак, чтобы назначить или изменить права на файл или паку необходимо в проводнике нажать правой клавишей мышки на нужный файл или папку выбрать пункт меню «Свойства»

У вас должно открыться окно с закладкой «Безопасность»

Если такой закладки нет, тогда делаем следующее. Запускаем Проводник, затем открываем меню «Сервис» «Свойства папки…»

В открывшемся окне переходим на закладку «Вид» и снимаем галочку с параметра «Использовать простой общий доступ к файлам(рекомендуется)»

Все, теперь вам доступны все свойства файловой системы NTFS.

Возвращаемся к закладке «Безопасность» .

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

Выделяя в списке нужную группу или пользователя, мы можем посмотреть базовые права для этой группы или пользователя. Выделив пользователя «Гостевой пользователь ([email protected] можно увидеть, что у него все права явные

А вот группа «Пользователи (KAV-VM1\Пользователи» имеет комбинированные права, часть из них унаследована от родительской папки(серые квадратики напротив «Чтение и выполнение» , «Список содержимого папки» , «Чтение» ), а часть установлено явно – это право «Изменить» и «Запись»

!!!Внимание. Обратите внимание на названия пользователей и групп. В скобочках указывается принадлежность группы или пользователя. Группы и пользователи могут быть локальными, т.е. созданными непосредственно на этом компьютере, а могут быть доменными. В данном случае группа «Администраторы» локальная, так как запись в скобочках указывает имя компьютера KAV-VM1, а после слэша уже идет само название группы. Напротив, пользователь «Гостевой пользователь» является пользователем домена btw.by, на это указывает запись полного имени [email protected]

Зачастую при просмотре или изменении прав можно ограничиться окном с базовыми правами, но иногда этого недостаточно. Тогда можно открыть окно, в котором изменяются особые разрешения, владелец или просматриваются действующие разрешения. Как это сделать? Нажимаем на кнопку «Дополнительно» . Открывается вот такое окно

В данном окне в таблице «Элементы разрешений» перечислены все пользователи, имеющие права на данную папку. Точно так же, как и для базовых разрешений, мы выделяем нужного пользователя или группу и нажимаем кнопку «Изменить» . Открывается окно, в котором показаны все особые разрешения для выделенного пользователя или группы

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

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


Это происходит потому, что для одного пользователя или группы могут быть различные виды прав: явные и наследуемые, разрешающие или запрещающие, различающиеся по виду наследования. В данном случае права на чтение для группы «Пользователи» наследуются от родительской папки, а права на изменение добавлены явно.

Примеры назначения прав.

!!! Все примеры будут идти с нарастанием сложности. Читайте и разбирайтесь с ними в такой же последовательности как они идут в тексте. Однотипные действия в последующих примерах буду опускать, чтобы сократить объём текста. 🙂

Пример 1. Предоставление права доступа к папке определенной локальной группе безопасности только на чтение.

Сначала создадим локальную группу, в которую включим весь список нужных нам пользователей. Можно и без группы, но тогда для каждого пользователя нужно будет настраивать права отдельно, и каждый раз, когда понадобится дать права новому человеку, потребуется проделывать все операции заново. А если права предоставить локальной группе, то для настройки нового человека понадобится только одно действие – включение этого человека в локальную группу. Как создать локальную группу безопасности читаем в статье «Настройка локальных групп безопасности».

Итак. Мы создали локальную группу безопасности с именем «Коллегам для чтения»,


в которую добавили всех нужных пользователей.

Теперь настраиваю права доступа к папке. В данном примере я сделаю права доступа созданной группе «Коллегам для чтения» на папку «Фото» .

Нажимаю правой клавишей мышки на папку «ФОТО» и выбираю пункт меню «Свойства» , перехожу на закладку «Безопасность» .

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

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


убираю галочку с пункта «Наследовать от родительского объекта применимые к дочерним объектам разрешения, добавляя их к явно заданным в этом окне.» . При этом откроется окно, в котором я смогу выбрать, что делать с текущими унаследованными правами.

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

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

Нажимаю «ОК» и возвращаюсь в окно базовых прав. Все права стали доступны для редактирования. Мне нужно оставить права для локальной группы «Администраторы» и пользователя SYSTEM , а остальных удалить. Я поочередно выделяю ненужных пользователей и группы и нажимаю кнопку «Удалить» .

В результате у меня получается вот такая картина.

Теперь мне остается добавить только группу «Коллегам для чтения» и назначить этой группе права на чтение.

Я нажимаю кнопку «Добавить» , и в стандартном окне выбора выбираю локальную группу «Коллегам для чтения» . Как работать с окном выбора подробно описано в статье .

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

Все, остается нажать кнопку «ОК» и права назначены. Теперь любой пользователь, который принадлежит локальной группе безопасности «Коллегам для чтения», получит возможность читать все содержимое папки «ФОТО» .

Пример 2. Предоставление персонального доступа пользователям к своим подпапкам в папке.

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

Для данного примера я немного перефразирую задание. Предположим у нас есть общая папка «ФОТО» , в которой для каждого пользователя есть подпапка. Необходимо настроить права так, чтобы пользователь имел в своей подпапке все права, а подпапки других пользователей были бы ему недоступны.

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


и перехожу в окно особых прав, в котором выделяю группу «Коллегам для чтения» и нажимаю кнопку «Изменить»

В открывшемся окне я меняю правила наследования, вместо значения в поле «Применять:» я выбираю значение «Только для этой папки» .

Это самый ключевой момент этого примера. Значение «Только для этой папки» приводит к тому, что права чтения для группы «Коллегам для чтения» распространяются только на корень папки «ФОТО» , но не на подпапки. Таким образом, каждый пользователь сможет добраться к своей папке, но заглянуть в соседнюю не сможет, права на просмотр подпапок у него нет. Если же не дать такое право группе совсем, то пользователи вообще не смогут попасть в свои подпапки. Файловая система не пропустит их даже в папку «ФОТО» .

В итоге, пользователи смогут заходить в папку «ФОТО» но дальше в подпапки зайти не смогут!

В окне особых прав нажимаем «ОК» и выходим в предыдущее окно, теперь в столбце «Применять к» напротив группы «Коллегам для чтения» стоит значение «Только для этой папки» .

Нажимаем во всех окнах «ОК» и выходим.

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

Все нужные действия вы уже делали в первом примере, повторим пройденное 🙂

На подпапке «Пользователь1» нажимаю правой клавишей мышки, выбираю пункт меню «Свойства» , перехожу на закладку «Безопасность» . Нажимаю кнопку «Добавить»

и в стандартном окне выбора выбираю доменного пользователя с именем «Пользователь1» .

Остается установить галочку для разрешающего права «Изменить» . При этом галочка для разрешающего права «Запись» установится автоматически.

Нажимаем «ОК» . Выходим. Остается повторить аналогичные действия для всех подпапок.

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

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

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

В открывшемся окне выделяем «Пользователь1» и нажимаем кнопку «Изменить»

В открывшемся окне мы видим стандартные права на чтение

Для того чтобы дать права пользователю создавать файлы ставим разрешение на право «Создание файлов/Запись данных» , а на права «Удаление подпапок и файлов» и «Удаление» ставим запрет. Наследование оставляем стандартное «Для этой папки, ее подпапок и файлов» .

После нажатия кнопки «ОК» и возврата в предыдущее окно можно увидеть существенные изменения. Вместо одной записи для «Пользователь1» появилось две.

Это потому, что установлены два вида прав, одни запрещающие, они идут в списке первыми, вторые разрешающие, они в списке вторые. Так как особые права являются нестандартными, то в столбце «Разрешение» стоит значение «Особые» . При нажатии кнопки «ОК» появляется окно, к котором windows предупреждает, что есть запрещающие права и что они имеют более высокий приоритет. В переводе это означает туже ситуацию с самозакрывающейся дверью, ключи от которой находятся внутри. Подобную ситуацию я описывал во втором примере.

Все. Права установлены. Теперь «Пользователь1» сможет записать в свою папку любой файл, открыть его, но изменить или удалить не сможет.

А как же полная аналогия с реальным почтовым ящиком?

Чтобы пользователь не смог открыть или скопировать записанный файл, нужно сделать следующее. Опять открываем разрешающие особые разрешения для «Пользователь1» , и в поле «Применять:» меняем значение на «Только для этой папки»

При этом у пользователя не остается права на чтение или копирование файла.

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

Просмотр действующих прав.

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

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

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

Затем необходимо нажать кнопку «Выбрать» и в стандартном окне выбора выбрать нужного пользователя или группу.

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

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

Поделиться