Дать права на папку windows server

Файловый сервер установлен. Об установке и настройке файлового сервера смотрите статью «Файловый сервер на базе Windows Server 2016». В этой статье я расскажу о настройке прав доступа к сетевым папкам на файловом сервере.

Файловый сервер установлен. Об установке и настройке файлового сервера смотрите статью «Файловый сервер на базе Windows Server 2016». В этой статье я расскажу о настройке прав доступа к сетевым папкам на файловом сервере.

На логическом диске D: файлового сервера создадим папку, например, share-local. Это будет корневая папка для всего файлового сервера.

Включаем Sharing для этой папки. Нажимаем Advansed Sharing > удаляем Everyone и добавляем Authenticated Users или Domain Users.

Advansed Sharing

Advansed Sharing

Устанавливаем права для  Authenticated Users.

access rights

Теперь включаем ABE (Access Based Enumeration) — папки, к которым нет доступа, не будут отображаться. На Windows Server 2016 опция ABE находится в File and Storage Services > Shares. Выбираем нашу папку, клик правой кнопкой мыши >Properties и в пункте меню Settings ставим флаг — Enable access-based enumeration

Access Based Enumeration

Access Based Enumeration

Возвращаемся к нашей папке share-local. Заходим на вкладку Security, нажимаем Advansed. В появившемся окне  Advansed Security нажимаем Disable inheriatance (Отключить наследование). Отключаем наследование с преобразованием унаследованных прав в явные.

Disable inheriatance

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

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

creator owner access

права создателя-владельца изменяем шаг 1
creator owner access
права создателя-владельца изменяем шаг 2

Добавляем группу Domain Users c правом только чтения и только этой папки.

Domain user access

Права Domain Users

Создаем подпапки отделов. Вновь созданные папки будут видны только администраторам. Добавим группы, которые должны получить доступ к ним. И не забываем поставить флаг Write для групп.

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

folder access

доступ к папке своего отдела

Создаем папку для второго отдела, добавляем нужную группу к доступу — у нашего пользователя по прежнему только его папка.

list folder

Все папки на файловом сервере
folder access
По прежнему только папка отдела

Помним, что один из отделов уже имеет общий ресурс для отдела. И нужно этому отделу подключить еще одну сетевую папку. Для этих целей мы создали наш Namespace. O  Namespace смотрите статью 
«Файловый сервер на базе Windows Server 2016».

Подключаем сетевой ресурс через \unitec.localshare-files

Видим 2 папки нашего отдела. Одна из них корневая со старого сетевого ресурса (dc share), а вторая подпапка отдела (new share) с нового файлового сервера. У пользователя все работает, есть возможность создавать файлы и папки.

list folder

Сетевые папки первого отдела

Представим ситуацию, что кто-то вне нашего отдела узнал, что в локальной сети есть сетевой ресурс  \unitec.localshare-files и решил проверить — будет ли у него доступ.

В результате такой пользователь увидит следующее. У него будут отображаться 2 папки первого отдела. Если он зайдет в корневую папку старого сетевого ресурса (dc share) — то для него папка будет пуста, так как на папке включен ABE. При попытке входа на подпапку отдела нового файлового сервера — получит ошибку. 
Права доступа у нас работают.

Error

Ошибка при попытке входа

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

Обновлено Обновлено: 05.10.2020
Опубликовано Опубликовано: 2016 год или раньше

В качестве примера используется Windows Server 2012 R2 (2016, 2019). Инструкция разбита на несколько шагов и представляет из себя полный цикл настройки файлового хранилища для использования в малых и средних компаниях.

Выбор оборудования и подготовка сервера
Установка Windows и настройка системы
Базовые настройки файлового сервера
Тюнинг файлового сервера или профессиональные советы
Настройка средств обслуживания
Тестирование

Шаг 1. Выбор оборудования и подготовка сервера

В качестве сервера, желательно, выбрать профессиональное оборудование. Системные требования для файлового сервера не высокие:

  • Процессор может быть самый простой;
  • Оперативная память также не сильно используется;
  • Дисковая система — самый основной компонент. Ее объем зависит от специфики бизнеса. Примерная формула — не менее 15 Гб на пользователя и не менее 1 Тб на сервер. До 50 пользователей можно рассматривать диски SATA, после — SAS или SSD.

Например, для компании в 300 пользователей подойдет сервер с процессором Xeon E3, 8 Гб ОЗУ и 5 Тб дискового пространства на дисках SAS 10K.

Дополнительные требования

  1. Для обеспечения сохранности информации при выходе из строя жесткого диска, необходим RAID-контроллер. Настройка последнего выполняется из специального встроенного программного обеспечения, которое запускается при загрузке сервера;
  2. Сервер должен быть подключен к источнику бесперебойного питания;
  3. Необходимо предусмотреть резервное копирование. Для этого нужен дисковый накопитель (внешний жесткий диск) или другой сервер.

Подробнее о выборе оборудования читайте статью Как выбрать сервер.

Шаг 2. Установка Windows и настройка системы

Установка системы

На этом шаге все стандартно, за исключением одного нюанса: разбивая во время установки Windows жесткий диск, стараемся выделить небольшую часть (70 — 120 Гб) для системы и все остальное под данные. Если выделить много дискового пространства для системного раздела, увеличится время его обслуживания и фрагментация, что негативно скажется на производительности и надежности системы в целом.

Настройка системы

  1. Проверяем правильность настройки времени и часового пояса;
  2. Задаем понятное имя для сервера и, при необходимости, вводим его в домен;
  3. Если сервер не подключен напрямую к сети Интернет, стоит отключить брандмауэр;
  4. Для удаленного администрирования, включаем удаленный рабочий стол;
  5. Устанавливаем все обновления системы.

Шаг 3. Базовые настройки файлового сервера

Это стандартные действия, которые выполняются при настройке обычного файлового сервера.

Установка роли и вспомогательных компонентов

Как правило, данная роль устанавливается вместе с Windows. Остается только это проверить и доустановить компоненты, которые нужны для полноценной эксплуатации сервиса.

Открываем Диспетчер серверов. Он может быть запущен из панели быстрого запуска.

Запуск диспетчера серверов Windows Server 2012

Нажимаем УправлениеДобавить роли и компоненты.

Установка серверных компонентов в Windows 2012

В открывшемся окне оставляем Установка ролей и компонентов и нажимаем Далее.

Выбор установки ролей и компонентов в Windows Server

В следующем окне выбираем нужный сервер (выбран по умолчанию, если работаем на сервере, а не через удаленную консоль) и нажимаем Далее.

Среди ролей находим Файловые службы и службы хранилища, раскрываем ее и проверяем, что установлены галочки напротив следующих компонентов:

  • Службы хранения;
  • Файловый сервер;

Ставим галочки напротив нужных компонентов файлового сервера

Если данные службы не установлены, выбираем их и нажимаем Далее.

В окне Выбор компонентов просто нажимаем Далее.

Откроется окно Подтверждение установки компонентов. Нажимаем Установить и после окончания процесса перезагружаем сервер.

Настройка шары (общей папки)

Создаем первую папку, которую хотим предоставить в общее использование. Затем кликаем по ней правой кнопкой мыши и нажимаем Свойства:

Открываем свойства папки

В открывшемся окне переходим на вкладку Доступ и нажимаем Расширенная настройка:

Открываем доступ к папке по сети

Ставим галочку Открыть общий доступ к этой папке и нажимаем кнопку Разрешения:

Ставим галочку для включения общего доступа и переходим к управлению разрешениями

Предоставляем полный доступ всем пользователям:

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

* конечно же, мы не будем давать доступ всем пользователям, но для этого есть вкладка безопасность (см. ниже).

Нажимаем OK и еще раз OK.

Теперь переходим на вкладку Безопасность и нажимаем Дополнительно:

Кнопка для назначения дополнительных прав безопасности на папку

В открывшемся окне нажимаем Отключение наследования и Преобразовать унаследованные разрешения в явные разрешения этого объекта.

Отключаем наследование прав папкой

Нажимаем OK и Изменить

Кнопка для изменения прав на папку

Выставляем необходимые права на папку, например:

Пример прав безопасности для папки

Совет: старайтесь управлять правами на ресурсы только при помощи групп. Даже если доступ необходимо предоставить только одному человеку!

Теперь нажимаем OK два раза. Папка настроена для общего использования и в нашем примере доступна по сетевому пути \fs1Общая папка.

Шаг 4. Тюнинг файлового сервера или профессиональные советы

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

DFS

С самого начала стоит создавать общие папки в пространстве имен DFS. На это есть две основные причины:

  1. При наличии или появлении нескольких файловых серверов пользователям будет удобнее находить общие папки в одном месте.
  2. Администратор легко сможет создать отказоустойчивую систему при необходимости.

Как создать и настроить DFS читайте в статьях Как установить и настроить DFS и Как установить и настроить DFS с помощью Powershell.

Теневые копии

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

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

Аудит

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

О том, как настроить данную возможность читайте статью Как включить аудит доступа к файлам Windows. 

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

В диспетчер управления серверами Windows встроен инструмент для проверки конфигурации сервера — анализатор соответствия рекомендациям. Чтобы им воспользоваться переходим в диспетчере в Локальный сервер:

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

Находим раздел «Анализатор соответствия рекомендациям» и справа кликаем по ЗАДАЧИНачать проверку BPA:

Запуск проверки BPA

Рассмотрим решения некоторых рекомендаций.

1. Для XXX должно быть задано рекомендованное значение.

Это набор однотипных рекомендаций, для выполнения которых нужно обратить внимание на описание и задать значение параметро, которое в нем указано. Например, для CachedOpenLimit в описании проблемы есть описание решения — «Задайте для CachedOpenLimit рекомендуемое значение 5». Чтобы это сделать, открываем Powershell от администратора и вводим команду:

Set-SmbServerConfiguration -CachedOpenLimit 5

* мы задаем параметру CachedOpenLimit значение 5, как это и рекомендовано анализатором.

На запрос, уверены ли мы, что хотим выполнить команду, отвечаем утвердительно.

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

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

В командной строке от имени администратора вводим:

sc config srv start= demand

3. Создание коротких имен файлов должно быть отключено.

В командной строке от имени администратора вводим:

fsutil 8dot3name set 1

Шаг 5. Настройка средств обслуживания

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

Резервное копирование

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

Мониторинг

Мониторить стоит:

  1. Сетевую доступность сервера;
  2. Свободное дисковое пространство;
  3. Состояние жестких дисков.

Шаг 6. Тестирование

Тестирование состоит из 3-х основных действий:

  1. Проверить журналы Windows и убедиться в отсутствие ошибок. В случае их обнаружения, необходимо устранить все проблемы.
  2. Выполнить действия анализатора соответствий рекомендациям.
  3. Провести живой тест работы сервиса с компьютера пользователя.
  • Remove From My Forums
  • Вопрос

  • Добрый день, коллеги!

    Описание вопроса:

    Имеется ОС Windows Server 2016 Standard, среда — workgroup.

    Задача — предоставить доступ к директории на уровне группы пользователей.

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

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

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

    Спасибо

    • Изменено

      28 мая 2018 г. 13:46

Ответы

  • На сервере расположены : Директория, группа доступа, и учетная запись пользователя

    Пользователь подключается по rdp и получается доступ к директории возможен только после явного добавления пользователя в список acl директории, хотя ранее в данный список была уже добавлена группа с правами доступа full, в которую входит пользователь

    для начала убедитесь что пользователь таки входит в группу при помощи команды whoami /groups (под тестируемым пользователем). Если пользователь не состоял в группе на момент логина, то описанное поведение закономерно.
    Для решения задачи достаточно перелогиниться


    The opinion expressed by me is not an official position of Microsoft

    • Предложено в качестве ответа
      Vector BCOModerator
      28 мая 2018 г. 15:06
    • Помечено в качестве ответа
      Petko KrushevMicrosoft contingent staff, Moderator
      6 июня 2018 г. 7:49

imageФайловый сервер – что это? При разговоре многие IT специалисты отвечают очень просто: “шара” она и в Африке “шара”. Задаешь следующий вопрос, как ты считаешь у файлового сервера может быть логика функционирования? И в ответ получаешь, что-то подобное ответу на первый вопрос. Ну и в заключении просишь показать скриншот рабочего файлового сервера компании со стороны обычного пользователя, результат обычно такой…

image

И еще пару-тройку десяток папок своих и не своих, которые видит пользователь.

А как ты предоставляешь доступ пользователю?

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

А ты слышал, что в Active Directory есть группы?

Да конечно, но я так привык делать.

А если тебе придётся администрировать файловый сервер к примеру на одну тыс. человек, как ты считаешь твоя модель будет эффективной?

Ответ зависит от креативности конкретной личности)))

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

Какие проблемы будут решены после оптимизации файлового сервера:

1) Зайдя на файловый сервер человек будет видеть только “свои” папки.

2) Доступ к папкам будет предоставляться через ролевые группы на базе групп Active Directory.

При таком подходе предоставление доступа к ресурсу осуществляется лишь добавлением определенного  пользователя в требуемую группу через оснастку Active Directory Administrative Center.

Цитата из книги “Эффективное Администрирование. Windows Server 2008.” Автор: Холме Дэн.:

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

В книге очень подробно описано как грамотно организовать файловый север. Советую.

3) Файловый сервер будет работать на базе технологии Distributed File System.

4) Будет активирована технология Data Deduplication.

К примеру в моем случаи Deduplication rate (при дефолтовых настройках) составляет 43%:

image

Устанавливаем роли:
image

Создаем папку самого верхнего уровня:

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

Далее заходим в свойства этой папки на вкладку Security –> Advanced и выключаем наследование прав:

image
Далее приводим группы в такое соответствие:

image

Если группе Domain Users  не сделать This folder Only, то технология ABE не отработает. Плюс мы выключи наследование прав.

Далее открываем Server Manager переходим:

image
image
image
Выбираем нашу папку верхнего уровня:

image
На следующем шаге включаем технологию ABE:

image

Permissions мы уже указали. Management Properties и Quota мы конфигурировать так же не будем.

В конечном итоге доходим до конца мастера и нажимаем Create и получаем такие результаты:

image

На этом этапе стоит пояснить одну фундаментальную вещь.

Цитата из блога Vadims Podans (ссылка на статью):

Как известно, при доступе к общим ресурсам (сетевым папкам) мы различаем 2 типа прав:

Share Permissions
NTFS Rights

Оба типа прав влияют на результирующие (эффективные) права пользователя при доступе к сетевому ресурсу. В общем смысле эффективные права будут являть собой наиболее ограничивающее разрешение из обоих типов прав. Например, на ресурс установлено право Share Permissions = Read, а NTFS = Full Control, то исходя из наиболее ограничивающего разрешения эффективным будет Read. Если Share Permissions = FullControl, а NTFS = Modify, то эффективным правом для пользователя будет Modify. Вот такая несложная схема. Т.е. там, где прав меньше, те и будут ваши :-) Как известно, эта проблема редко кого касается, т.к. обычно на уровне Share Permissions выдают FullControl на ресурс и дальше уже права регулируют за счёт NTFS

Теперь запускаем DFS Management и создадим New NameSpace…:

image
Практически всегда ваш файловый сервер должен “жить” в пространстве DFS. При таком подходе доступ к файловому серверу или серверам осуществляется через единый NameSpace в нашем случае \Contoso.comFileServer

Запускаем мастер вводим Name, далее Edit Settings и выбираем нашу первую папку в иерархии:

image
Далее кнопка Customize и поправим права иначе мастер нам их сбросит:

18
Нажимаем Next и получаем предупреждение:

19
Так как для папки мы уже заранее все настроили отвечаем на вопрос — Yes.

На следующем шаге оставляем все как есть:

image
Конечный результат:

image

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

image

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

image

Папка “Кадровая служба” физически располагается на втором файловом сервере, но путь ко всем папкам один \Contoso.comFileServer:

rsz_25

Как это реализовать в этой заметке рассказано не будет.

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

image

Отрабатывает технология Access-based enumeration:

Скрин со стороны сервера:

image

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

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

Цитата из книги “Эффективное Администрирование. Windows Server 2008.” Автор: Холме Дэн:

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

Я создал типичную структуру отделов-подразделений компании (предыдущий скриншот).

На основании этой структуры мы создадим первые ролевые группы (отмечены стрелочками):

image

Так как  в AD DS я никогда не использую русский язык кроме поля Description в названиях групп мы используем английские аналоги, но для удобства в поле Description можно вписать русское название.

Имя_Группы к примеру Accounting (ролевая группа) – глобальная группа в этот тип групп у нас входят пользователи.

image
image

Группа Accounting входит в состав (Member Of) группы ACL_Accounting_FC или RW или RO

image
Еще раз:

User –> Accounting –> ACL_Accounting_RO (Read Only) –> Папка Бухгалтерии

User –> Accounting –> ACL_Accounting_RW  (Read and Write) –> Папка Бухгалтерии

User –> Accounting –> ACL_Accounting_FC (Full Control) –> Папка Бухгалтерии

ACL_Имя_Группы_FC или RW или RO —
это доменно локальная группа которая регулируют уровень доступа к файлам и папкам.

Теперь раздаем разрешения:

ACL_Accounting_RO – доменно локальная группа.  NTFS разрешения на папку или файл
Read Only

Доменно локальная группа это:

image

image

ACL_Accounting_RW — доменно локальная группа. NTFS разрешения на папку или файл Read and Write
image
ACL_Accounting_FC — доменно локальная группа. NTFS разрешения на папку или файл Full Control

image

Кто задается вопрос о модели вложенности групп  в Active Directory статья Дмитрия Буланова


Сценарий 1:

Предоставить право на чтение и запись в папку Бухгалтерия пользователю User2.

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

“Вложить” пользователя User2 в ролевую группу Accounting, в свою очередь группа Accounting должна входить в группу доступа ACL_Accounting_RW – это решит поставленную задачу, но при таком подходе встает вопрос, а если части сотрудников отдела Бухгалтерия нужно дать доступ типа Read Only или Full Control на папку Бухгалтерия? В какую ролевую группу мы должны включить этого сотрудника? 

Создаем ролевую группу Accounting_RO в которую будет входить наш пользователь, а сама группа будет  входит в группу доступа ACL_Accounting_RO

Можно сразу пойти по такому пути и создавать группы по такой логике:

Accounting_FC —> ACL_Accounting_FC

Accounting_RW —> ACL_Accounting_RW

Accounting_RO —> ACL_Accounting_RO

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

Вернемся к нашему вопросу:

Предоставить права на чтение и запись в папку Бухгалтерия пользователю User2.

Решение:

Ответственный инженер добавит пользователя User2 в ролевую группу Accounting_RW.

Результат:

В итоге пользователь видит только свою папку. Так же в корневой папке он не имеет никаких прав:

image
Идем в папку бухгалтерия и видим, что уже в папке бухгалтерия пользователь User2 имеет права Read and Write:

image


Сценарий 2:

Предоставить права Read Only  в папку Бухгалтерия пользователю User3.

Решение:

Ответственный инженер добавит пользователя User3 в ролевую группу Accounting_RO

Так же как и User2, User3 увидит на файловом сервере только папку Бухгалтерия, но уже записать и удалить какие либо файлы не сможет:

image

image

image


Сценарий 3:

Предоставить права Read and Write  в папку Бухгалтерия для User7 , но при увольнении  User7  захочет удалить все файлы из папки Бухгалтерия.

Решение:

Ответственный инженер добавит пользователя User7 в ролевую группу Accounting_RW.

По легенде в папку бухгалтерия складывают свою данные еще четыре бухгалтера – это User2,4,5,6, но User7 при увольнении решил удалить все бухгалтерские документы, к счастью удаление файлов у которых пользователь не является владельцем удалить нельзя.

image

Но если у пользователя права Full Control, то в конечной папке он может делать все что ему вздумается.

Сценарий 4:

В папке Бухгалтерия должна быть создана подпапка Документы_Клиент_Банк. Этa папка будет использовать ответственными сотрудниками для хранения документов экспортируемые из клиент банков. Эту папку должны видеть только ответственные сотрудники.

Решение:

Первым делом выключаем наследовании этой подпапки Документы_Клиент_Банк:

46
Удаляем все унаследованные группы кроме:

47

Итог, на файловом сервере папка есть, но пользователь с правами которая предоставляет ролевая группа Accounting_RW или Accounting_FC или Accounting_RO ее не видит:

rsz_48

Дальше создаем ролевую группу к примеру  ClientBank_RW (глобальаня) –> ALC_ClientBank_RW (доменно локальная) и назначаем разрешения:

image

Но так как папка Документы клиент банк вложена в папку Бухгалтерия и если просто добавить пользователя в группу ClientBank_RW, то пользователь увидит такую картину:

image
Почему? У пользователя нет никаких прав на папку верхнего уровня Бухгалтерия.

К примеру если он взаимодействует только с папкой Документы клиент банк то ему достаточно будет дать права Accounting_RO и ClientBank_RW  после этого он сможет без проблем добраться до папки  Документы клиент банк.

И  в заключении включаем Data Dedeuplication:

image

image

Подведем итоги:

Мы создали файл сервер с ролевым типом доступа. Каждый пользователь файлового сервера видит только свои папки. Наш файловый сервер “живет” в пространстве DFS, что позволяет в будущем при необходимости масштабировать. Задействовали технологию Data Deduplication.
Соблюли вложенность групп в AD DS.

Будет интересно узнать о ваших мыслях о правильных, на ваш взгляд, практиках развёртывания и настройки файлового сервера на базе Windows Server.

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

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

Содержание:

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

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

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

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

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

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

get-acl C:Drivers |fl

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

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

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

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

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

(get-acl C:Drivers).access

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

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

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

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

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

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

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

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

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

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

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

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

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

Import-Module NTFSSecurity

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

Get-Command -Module NTFSSecurity

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

dir C:distr | Get-NTFSAccess –ExcludeInherited

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

dir C:distr | Get-NTFSAccess -Account corpaaivanov

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

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

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

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

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

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

Мы с вами проделали уже большую работу. Развернули сервер, настроили основные службы, создали пользователей. Давайте теперь перейдем к теме сетевого доступа. Ведь не удобно если люди будут бегать с флешками или отправлять другу другу письма.

Сетевые паки.

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

Так же нам потребуется роль Файловые службы и службы хранилища ( по умолчанию у меня стоит, если нет добавляем роль)

Создадим папку где нам удобно, зайдем в свойства паки, вкладка Доступ. Выберем общий доступ и добавим нашу группу Public.

Вот и все. Для всех пользователей группы Public доступна сетевая папка расположенная на сервере.

Теневые копии.

Папку мы создали, но встает вопрос о бэкапа файлов. Кто то может случайно удалить например или изменить важный файл. Самый простой вариант это включение Теневых копий на диске Volume Shadow Copy Service (VSS) .

Что же такое теневая копия? По сути это снапшот (снимок) всей информации, хранящейся на диске. После создания теневой копии служба VSS начинает отслеживать изменение данных на диске. VSS разбивает все данные на блоки по 16Кб каждый, и если данные в таком блоке были изменены, служба записывает в файл теневой копии этот блок целиком.  Таким образом получается, что при создании  следующей теневой копии данных система не копирует данные целиком, а только лишь блочные изменения.  Благодаря этому система теневого копирования позволяет существенно сэкономить место на диске. Теневые копии могут храниться на том же диске, на котором хранятся данные, либо на отдельном (решение для высоконагруженных систем с большой частотой изменения данных). Все файлы теневых копий хранятся в служебном каталоге System Volume Information. Эти файлы можно отличить по имени, все они содержат в имени идентификатор службы VSS —   3808876b-c176-4e48-b7ae-04046e6cc752.

  • По-умолчанию максимальное количество хранимых снапшотов для диска – 64. При превышении этого значения, служба VSS начинает циклическую перезапись теневых копий, удаляя самые ранние снапшоты.
  • Под теневые копии система выделяет 10% емкости раздела, однако это значение можно изменить.
  • Теневое копирование включается для тома целиком, и включить его для отдельной общей папки невозможно.
  • Microsoft не рекомендует создавать снапшоты чаще, чем раз в час (однако, это всего лишь рекомендации).

Для включения данной функции переходим в Управление компьютером — Общие папки — Все задачи.

Ну и конечно нам не мешало бы настроить расписание :

Тут мы выбрали ежедневно с 9.00 до 18.00 каждые 60 минут делать копии.

Обратите внимание, что для восстановления не требуется права Администратора. То есть любой пользователь имеющий доступ может восстановить старую версию папки ( свойства — предыдущие версии).

Ошибка в тексте? Выделите её и нажмите «Ctrl + Enter»

Часто при реализации структуры на базе Windows Server возникают задачи связанные с настройкой сервера для файлов и распределением прав на пользователейгруппы.

В нашем случае мы будем настраивать файловый сервер на Windows Server 2019.

1. Подготовка.

Для того чтобы настроить файловый сервер на Windows Server 2019, требуется установить операционную систему на виртуальную или физическую машину. Активировать операционную систему и подключиться на сервер с правами администратора.

2. Установка роли файлового сервера.

Чтобы установить роль файлового сервера, требуется:

  • Зайти в диспетчер серверов.
  • Управление => Добавить роли и компоненты.
  • В мастере добавления ролей нажимаем “Далее” до Ролей сервера.
  • Устанавливаем роль “Файловый сервер” и нажимаем “Далее”.
  • Нажимаем “Установить”Нажимаем “Установить”.

3. Настройка файлового сервера.

  • Заходим в Диспетчер Серверов => Файловые службы и службы хранилища => Общие ресурсы.
  • Нажимаем “Задачи” и выбираем “Новый общий ресурс”.
  • Выбираем подходящий нам профиль общего файлового сервера. В нашем случае мы выбираем “Общий ресурс SMB — быстрый профиль” и нажимаем “Далее”.
  • Выбираем том на котором будет располагаться папка для доступа по сети, нажимаем “Далее”.
  • Создаем имя общего ресурса, нажимаем “Далее”.
  • В следующем окне выбираем требуемые параметры и нажимаем “Далее”.
  • В окне “Распределения разрешение для управления доступом” мы настраиваем параметры безопасности на сетевую папку. А именно распределяем правами разрешения для определенных пользователей или групп, нажимаем “Далее”.
  • В подтверждающем окне мы видим какие параметры будут сделаны и нажимаем “Создать”.

Подтверждение выбора в мастере создания ресурсов

Рисунок 1 — Подтверждение выбора в мастере создания ресурсов

Убеждаемся в правильной настройки общей папки.

4. Проверка работоспособности файлового сервера.

Заходим на рабочую машину расположенную внутри локальной сеть. Подключаемся через проводник на сервер в нашем случае мы подключаемся к \10.15.73.38 так же можно вводить адрес сервера \domain.site.ru или по имени сервера \file-server
После авторизации мы подключились на сервере и видим нашу общую папку:

 Созданная общая папка

Рисунок 2 — Созданная общая папка

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

Эти и другие настройки для наших клиентов мы осуществляем в рамках ИТ-аутсорсинга.

Win2008Ниже будет рассказано как настроить различные права доступа для конкретной директории в режиме работы нескольких пользователей. Операционная система в моем примере — Microsoft Windows Server 2008 R2. Но для других ОС семейства Windows действия будут аналогичными.

0. Задача:

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

1. Решение:

Находим в проводнике необходимую папку, кликаем по ней правой кнопкой мыши и в контекстном меню выбираем «Свойства» (Properties).

prava_dostupa_OS_01

В открывшемся окне свойств папки, переходим на вкладку «Безопасность» (Security) и нажимаем «Изменить…» (Edit…). Откроется окно «Разрешения для группы...» в котором видим, что для 3 системных групп уже определены параметры безопасности. В частности для группы «Администраторы» установлен полный доступ к папке. Для добавления групп и пользователей нажмем кнопку «Добавить…» (Add…).

prava_dostupa_OS_02

В окне выбора пользователей и групп, нажмем «Дополнительно» (Advanced…), а в окне подбора кнопку «Поиск» (Find Now), чтобы вывести все группы и всех пользователей, существующих в системе. Выберем в результатах поиска необходимую нам группу «Пользователи» и нажмем «ОК» для добавления ее в список.

prava_dostupa_OS_03

Аналогичным образом добавим в список пользователя «Онянов» и нажмем «ОК» для завершения подбора.

prava_dostupa_OS_04

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

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

Выбрав необходимые параметры жмем «Применить» (Apply) для сохранения настроек и нажимая «ОК» закрываем все открытие окна.

prava_dostupa_OS_05

Вот и все. Мы установили настройки безопасности для выбранной директории в соответствии с поставленной задачей.

Понравилась статья? Поделить с друзьями:
  • Дедупликация данных в windows server 2008 r2
  • Дать локального админа пользователю windows 10
  • Девушка бежит по пляжу windows 10
  • Дать все права на папку windows
  • Деактивировать windows 10 установить на другой компьютер