что такое траверс папок

SMB и NTFS-разрешения. Разбор полетов

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

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

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

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

Создание новой общей папки выглядит очень просто:
или

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

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

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

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

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

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

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

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

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

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

В 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. Пустить всех клиентов на файловый сервер с включенным шифрованием поможет команда
В конфигурации по умолчанию (запрещен нешифрованный трафик к зашифрованным общим папкам), при попытке доступа к папке клиента с версией SMB ниже 3.0 на клиенте мы получим «Ошибку доступа». На сервере в журнал Microsoft-Windows-SmbServer/Operational будет добавлено событие 1003, в котором можно будет найти IP-адрес клиента, пытавшегося получить доступ.

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

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-путь). Можно поставить на папку Траверс папок, а на файл любые другие разрешения, которые нужны пользователю для работы. Создавать и удалять файлы в папке у пользователя не получится.

Содержание папки / Чтение данных (readdata) – право просматривать содержимое папки без возможности изменения. Запускать и открывать файлы в просматриваемой папке нельзя

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

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

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

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

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

C созданием подпапок все понятно: отработает, как ожидается — создаст в недоступной для просмотра пользователем папке testperms подпапку testappend. Попробуем добавить строку в конец файла – сэмулируем ведение какого-нибудь лога.
Хм… В CMD не работает. А если так.
А по конвейеру?
И так не работает.

Начинаем сеанс черной магии: используем класс File, метод AppendText. Получаем объект лога.

Думаю, что AppendAllText пробовать уже не стоит

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

Работает! Объект лога мы создали, попробуем туда что-нибудь записать. Метод FileStream.Write принимает входящие значения в байтах. Перегоняем событие, которое мы хотим записать, в байты – класс Encoding, метод GetEncoding (нам не нужны кракозябры на выходе) и GetBytes (собственно, конвертирование)

Параметры FileStream.Write:
Что писать; откуда начинать писать; количество байт, которые нужно записать
Записываем:

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

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

Запись атрибутов (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-разрешениями выглядит примерно так:

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

Сделать новую ACE с определенными выше разрешениями

Источник

Разрешения NTFS

что такое траверс папок. Смотреть фото что такое траверс папок. Смотреть картинку что такое траверс папок. Картинка про что такое траверс папок. Фото что такое траверс папок

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

(Full control)

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

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

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

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

Особые

Permission)

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

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

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

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

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

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

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

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

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

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

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

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

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

(Full control)

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

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

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

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

Особые

Permission)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Чтение

атрибутов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

или папку

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

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

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

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

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

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *