Погодин Евгений — ИТ Заметки
🖥️Windows Server Обновлено 04.11.2026

Windows Server с нуля 08. Файловый сервер: общие папки, права NTFS, квоты

Note

Материал сверен с официальной документацией (Microsoft Learn и др.; ссылки — в конце статьи). Примеры вывода — иллюстрации: на вашем сервере значения и формат могут отличаться. Перед работой на боевом сервере проверьте шаги на тестовой машине.

Файловый сервер — самая частая задача Windows Server в малой сети: документы лежат в одном месте, доступ выдаётся группами, копии делаются централизованно. И чаще всего он ломается из-за одного недоразумения: у общей папки не один набор прав, а два. В этой статье мы на сервере FS1 создадим общие папки D:\Shares\Accounting и D:\Shares\Public, выдадим доступ группам, созданным в Windows Server с нуля 05, разберёмся, как складываются права ресурса и NTFS, и добавим квоты, экраны файлов и теневые копии.

Вы научитесь:

  • создавать общую папку и проверять, кому она доступна;
  • понимать, какие права действуют на самом деле: права ресурса плюс NTFS;
  • выдавать доступ через группы и не использовать Everyone;
  • скрывать от пользователей то, к чему у них нет доступа, ограничивать объём и типы файлов;
  • включать теневые копии и искать причину ошибки «Отказано в доступе».
Термин Что это
SMB Протокол сетевого доступа к файлам (Server Message Block)
Общий ресурс (share) Папка, опубликованная по сети под именем. Путь вида \\FS1\Public называется UNC (Universal Naming Convention)
Права общего ресурса Read, Change, Full Control; действуют только при доступе по сети
Права NTFS Права на файлы и папки на диске, хранятся в списке контроля доступа (ACL, access control list); действуют всегда
ABE Access-Based Enumeration, перечисление на основе доступа: пользователь видит только то, к чему имеет доступ
FSRM File Server Resource Manager, диспетчер ресурсов файлового сервера: квоты, экраны файлов, отчёты

Warning

Имена и адреса серии учебные (домен lab.example, сервер FS1), подставьте свои. Ошибка в правах опасна в обе стороны: сотрудники теряют доступ или, что хуже, получают чужие данные. Перед правкой прав на рабочих данных сохраните их текущее состояние (команда есть в шаге 2), а новые схемы отрабатывайте на тестовой копии. Порт SMB (TCP 445) нельзя открывать в интернет.

Что нужно знать заранее

  • Windows Server с нуля 02 — таблица «Стенд целиком»: по ней создаётся FS1 (192.168.10.30), а диск D: с файловой системой NTFS добавляется по врезке «Добавляем диск данных».
  • Windows Server с нуля 03 — FS1 вводится в домен lab.example так же, как PC1.
  • Windows Server с нуля 05 — группы и схема AGDLP: GG-Accounting (в ней только petrova), GG-Staff (все пользователи подразделения Staff, в том числе ivanov и petrova) и доменные локальные группы доступа в подразделении Groups.
  • Windows Server с нуля 06 — автоматическое подключение сетевых дисков.
  • TCP, UDP и порты — что значит «SMB работает на порту 445».

Команды выполняйте в Windows PowerShell 5.1 от имени администратора; сообщения команд в вашей системе могут быть на русском.

Как устроен доступ: SMB и два набора прав

SMB

Общие папки работают по протоколу SMB. Три вещи, о которых стоит знать сразу:

  • SMB 1 не нужен. В Windows Server 2019 и новее он по умолчанию не установлен. Состояние покажет команда Get-SmbServerConfiguration | Select EnableSMB1Protocol, EnableSMB2Protocol: первое значение должно быть False, второе True. Если SMB 1 включён, отключите его командой Set-SmbServerConfiguration -EnableSMB1Protocol $false (перезагрузка не нужна). Если старое устройство «требует SMB 1», обновляйте или заменяйте устройство, а не включайте протокол на сервере.
  • Подпись SMB в Windows Server 2025 обязательна по умолчанию (как и в Windows 11 24H2), и для входящих, и для исходящих соединений. Устройства, которые не умеют подпись SMB (старые МФУ со сканированием «в папку», простые NAS), к такому серверу могут не подключиться. Правильное решение — включить подпись на устройстве или заменить его, а не отключать подпись на сервере.
  • Порт TCP 445. На границе сети его блокируют от интернета. Создание общего ресурса включает в брандмауэре правила группы File and Printer Sharing, поэтому брандмауэр отключать не нужно.

Права ресурса и права NTFS: как они складываются

Когда пользователь открывает \\FS1\Public\отчёт.docx, сервер проверяет доступ дважды: по правам общего ресурса и по правам NTFS самой папки. Итоговыми становятся более строгие права из двух. Права ресурса бывают трёх уровней (Read, Change, Full Control) и работают только по сети: для того, кто вошёл на сервер локально или по RDP, они не имеют значения. Права NTFS тоньше и действуют всегда, по любому протоколу.

Права ресурса Права NTFS Что получит пользователь по сети
Full Control Read Чтение
Read Modify Чтение
Change Modify Изменение (чтение, запись, удаление)
Change для групп пользователя записей нет Доступа нет

Правило описано на странице для Windows Server 2008 (архив), но на неё же отсылает актуальный обзор управления доступом Microsoft, а вкладка Effective Access (ниже) умеет оценивать оба слоя прав.

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

Договоримся о схеме. В документации к Windows Server 2008 описаны два подхода: выдавать на ресурсе широкие права и вести всю настройку в NTFS либо перечислять на ресурсе те же группы, что и в NTFS. Мы выберем второй: на ресурсе группы получают Change, администраторы Full Control, а точную настройку делаем в NTFS. Так каждый слой по отдельности не пускает посторонних. Группу Everyone не используем вовсе. Права выдавайте группам, а не отдельным пользователям: это хорошая практика, она упрощает управление и ускоряет проверку доступа. Явных запретов (Deny) избегайте: они переопределяют разрешения и путают при разборе.

Шаг 1. Проверяем группы доступа

Группы доступа создаются в Windows Server с нуля 05, здесь мы их только используем: DL-Accounting-Modify (в неё входит GG-Accounting, то есть petrova) и DL-Public-Modify (в неё входит GG-Staff, то есть все сотрудники). Проверьте, что они на месте, на DC1:

Get-ADGroup -Filter "Name -like 'DL-*'" | Select-Object Name
Get-ADGroupMember 'GG-Accounting' | Select-Object Name
Get-ADGroupMember 'DL-Public-Modify' | Select-Object Name

Должны появиться обе группы DL-*, в GG-Accounting только petrova, а в DL-Public-Modify группа GG-Staff. Если групп нет, вернитесь к Windows Server с нуля 05: создавать их заново с другими именами не нужно.

Шаг 2. Папки, права NTFS и общие ресурсы на FS1

Установите службу роли «Файловый сервер» (FS-FileServer) из роли «Файловые службы и службы хранилища» (если она уже есть, команда сообщит об этом), создайте папки и сохраните исходное состояние прав. Команда icacls /save пригодится для отката:

Install-WindowsFeature FS-FileServer -IncludeManagementTools
New-Item -ItemType Directory -Force -Path D:\Shares\Accounting
New-Item -ItemType Directory -Force -Path D:\Shares\Public\Accounting-Only
New-Item -ItemType Directory -Force -Path C:\Backup\ACL
icacls D:\Shares\* /save C:\Backup\ACL\shares-acl.txt /t
icacls C:\Backup\ACL /inheritance:r `
  /grant '*S-1-5-32-544:(OI)(CI)F' '*S-1-5-18:(OI)(CI)F'

Файл раскрывает структуру прав, а каталог унаследовал бы права корня диска C:, поэтому последняя команда оставляет доступ только Administrators и SYSTEM (параметры объяснены ниже; откат этой правки — icacls C:\Backup\ACL /reset). Откат прав на папки выполняется командой icacls D:\Shares\ /restore C:\Backup\ACL\shares-acl.txt.

Теперь права NTFS. Новая папка наследует права родителя (корня диска D:), а они обычно шире, чем нужно. Поэтому мы отключаем наследование с удалением унаследованных записей и выдаём только необходимое:

icacls D:\Shares\Accounting /inheritance:r `
  /grant '*S-1-5-32-544:(OI)(CI)F' '*S-1-5-18:(OI)(CI)F' `
  'LAB\DL-Accounting-Modify:(OI)(CI)M'
icacls D:\Shares\Public /inheritance:r `
  /grant '*S-1-5-32-544:(OI)(CI)F' '*S-1-5-18:(OI)(CI)F' `
  'LAB\DL-Public-Modify:(OI)(CI)M'
icacls D:\Shares\Public\Accounting-Only /inheritance:r `
  /grant '*S-1-5-32-544:(OI)(CI)F' '*S-1-5-18:(OI)(CI)F' `
  'LAB\DL-Accounting-Modify:(OI)(CI)M'

Разберём запись. F — полный доступ, M — изменение (чтение, запись, удаление, но не смена прав и не смена владельца). (OI)(CI) распространяет запись на вложенные файлы и папки. Записи со звёздочкой — известные идентификаторы безопасности: S-1-5-32-544 — группа «Администраторы», S-1-5-18 — системная учётная запись (SYSTEM); числами мы указали их, чтобы команда работала в любой локализации Windows. Параметр /inheritance:r убирает унаследованные записи (так он назван в справке icacls /?; на странице Learn это /inheritancelevel, значения те же). Без одновременного /grant список прав остался бы пустым, поэтому Administrators и SYSTEM нужны в нём обязательно: без них вы потеряете управление папкой, а резервное копирование и антивирус — доступ к данным. Папка Accounting-Only внутри Public получила собственный список без наследования: изменения прав в Public в неё больше не попадают.

Проверьте результат:

(Get-Acl D:\Shares\Accounting).Access |
  Format-Table IdentityReference, FileSystemRights, AccessControlType,
    IsInherited -AutoSize

Пример вывода:

IdentityReference        FileSystemRights    AccessControlType IsInherited
-----------------        ----------------    ----------------- -----------
BUILTIN\Administrators   FullControl         Allow             False
NT AUTHORITY\SYSTEM      FullControl         Allow             False
LAB\DL-Accounting-Modify Modify, Synchronize Allow             False

Get-Acl удобен для чтения: свойство Access содержит список записей. Изменять права проще через icacls: Set-Acl применяет целиком готовый дескриптор безопасности, и ошибиться в нём легче.

Теперь публикуем папки. Имя группы администраторов зависит от языка Windows («Administrators» или «Администраторы»), поэтому берём его по SID:

$adm = (Get-LocalGroup -SID S-1-5-32-544).Name
New-SmbShare -Name Accounting -Path D:\Shares\Accounting `
  -ChangeAccess 'LAB\DL-Accounting-Modify' -FullAccess $adm `
  -FolderEnumerationMode AccessBased -Description 'Бухгалтерия'
New-SmbShare -Name Public -Path D:\Shares\Public `
  -ChangeAccess 'LAB\DL-Public-Modify' -FullAccess $adm `
  -FolderEnumerationMode AccessBased -Description 'Общая папка'

Параметр -FolderEnumerationMode AccessBased включает ABE, о нём ниже. Проверка:

Get-SmbShare -Name Accounting, Public
Get-SmbShareAccess -Name Accounting

Пример вывода:

Name       ScopeName Path                 Description
----       --------- ----                 -----------
Accounting *         D:\Shares\Accounting Бухгалтерия
Public     *         D:\Shares\Public     Общая папка

Name       ScopeName AccountName               AccessControlType AccessRight
----       --------- -----------               ----------------- -----------
Accounting *         BUILTIN\Administrators    Allow             Full
Accounting *         LAB\DL-Accounting-Modify  Allow             Change

Если вызвать Get-SmbShare без имени, в списке окажутся ещё ADMIN$, C$, IPC$ и подобные: это встроенные скрытые ресурсы (знак $), их не трогайте.

Откат учебной среды: Remove-SmbShare -Name Accounting, Public -Force удаляет ресурсы, а icacls D:\Shares\Accounting /reset возвращает папке унаследованные права по умолчанию (для рабочих данных вместо этого применяйте /restore из сохранённой копии).

Проверка с клиента. Группы записываются в локальный токен и в Kerberos-билет (TGT, ticket-granting ticket) при входе, поэтому после изменения членства в группах пользователю нужно выйти из Windows и войти заново: новый TGT выдаётся при повторном входе, а старый живёт обычно до 10 часов. Войдите на PC1 как petrova и откройте \\FS1\Accounting: папка откроется, создайте в ней файл. Под ivanov та же папка откажет в доступе, а \\FS1\Public откроется у обоих. Обращайтесь по имени, а не по IP-адресу: по адресу Kerberos недоступен, и на клиентах с блокировкой NTLM (NT LAN Manager, устаревший протокол проверки подлинности) подключение может не пройти. Подключать папки как сетевые диски в домене лучше групповой политикой (Windows Server с нуля 06).

Опыт: права ресурса сильнее NTFS

Чтобы увидеть правило «более строгие права» своими глазами, временно ограничьте права ресурса Public. Команда Grant-SmbShareAccess только добавляет разрешение, поэтому сначала снимите прежнее:

Revoke-SmbShareAccess -Name Public -AccountName 'LAB\DL-Public-Modify' -Force
Grant-SmbShareAccess -Name Public -AccountName 'LAB\DL-Public-Modify' `
  -AccessRight Read -Force

С новым подключением ivanov сможет читать файлы в Public, но не сможет создать или изменить: по NTFS у него Modify, но ресурс разрешает только Read. Верните исходное состояние:

Revoke-SmbShareAccess -Name Public -AccountName 'LAB\DL-Public-Modify' -Force
Grant-SmbShareAccess -Name Public -AccountName 'LAB\DL-Public-Modify' `
  -AccessRight Change -Force

Шаг 3. Перечисление на основе доступа (ABE)

Без ABE пользователь ivanov, открыв \\FS1\Public, увидит папку Accounting-Only, но получит отказ при попытке её открыть. Это раздражает и выдаёт структуру данных. Режим AccessBased для ресурса делает так, что файлы и папки, к которым у пользователя нет прав, ему не показываются. Мы включили его при создании ресурсов; для существующего ресурса и для проверки:

Set-SmbShare -Name Public -FolderEnumerationMode AccessBased -Force
Get-SmbShare | Select-Object Name, FolderEnumerationMode

По умолчанию у новых ресурсов режим Unrestricted: всё видно. Откройте \\FS1\Public под ivanov: Accounting-Only исчезла, под petrova она на месте. ABE — удобство, а не защита: защищают права NTFS, а ABE лишь убирает лишнее с глаз.

Шаг 4. Квоты и экраны файлов (FSRM)

Диспетчер ресурсов файлового сервера (FSRM) добавляет квоты, экраны файлов и отчёты. Он работает только с томами NTFS; ReFS (Resilient File System) не поддерживается.

Install-WindowsFeature FS-Resource-Manager -IncludeManagementTools

Квота ограничивает объём папки вместе со всеми вложенными. По умолчанию квота жёсткая: после исчерпания лимита сохранить файлы нельзя.

New-FsrmQuota -Path D:\Shares\Public -Size 50GB `
  -Description 'Общая папка: 50 ГБ'
Get-FsrmQuota -Path D:\Shares\Public

Параметр -SoftLimit создаёт мягкую квоту: она ведёт учёт и срабатывает на порогах, но не запрещает запись. Для порядка в большой сети создавайте квоты из шаблонов: изменив шаблон, вы обновите все квоты на его основе. Можно также включить «автоприменение» шаблона к подпапкам, например к личным папкам сотрудников. Отправка писем о превышении требует предварительной настройки параметров FSRM.

Экран файлов запрещает хранить файлы определённых типов. Сначала задайте группу по маскам имён, затем включите экран:

New-FsrmFileGroup -Name 'Media-Block' `
  -IncludePattern @('*.mp3', '*.mp4', '*.mkv', '*.avi')
New-FsrmFileScreen -Path D:\Shares\Public -IncludeGroup 'Media-Block' -Active

Активный экран не даёт сохранить подходящие файлы и создаёт уведомления; пассивный (-Active:$false) только фиксирует попытки. Файлы, сохранённые до включения экрана, не затрагиваются. Готовые группы смотрите командой Get-FsrmFileGroup.

Шаг 5. Теневые копии: «Предыдущие версии» (необязательно)

Это необязательный шаг: остальные статьи серии его не используют. Теневые копии общих папок (Shadow Copies of Shared Folders) делают моментальные снимки тома по расписанию; пользователь сам восстанавливает случайно удалённый или испорченный файл на вкладке Previous Versions («Предыдущие версии») в свойствах файла или папки.

Включение описано в документации для Windows Server 2008 (архив): Computer Management → Shared Folders → All Tasks → Configure Shadow Copies → выберите том D: → Enable → Settings. Русских названий этих пунктов в документации нет, а в Windows Server 2025 диалоги могут выглядеть иначе: ориентируйтесь на окно вашего сервера. Для старых версий по умолчанию снимки делаются в 7:00 и в полдень по будням, хранилище лежит на том же томе. Рекомендации из архивной документации:

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

Где лежит хранилище копий и сколько места оно занимает, показывает vssadmin list shadowstorage.

Warning

Теневые копии — не резервная копия. Они лежат на том же сервере (чаще на том же диске) и пропадут вместе с ним. Резервное копирование — отдельная задача, см. правило 3-2-1 и Windows Server с нуля 11.

Что ещё есть на файловом сервере

DFS Namespaces. Когда серверов становится несколько, помнить \\FS1\... и \\FS2\... неудобно. Пространство имён DFS (роль FS-DFS-Namespace) собирает общие папки с разных серверов в единое дерево с общим именем в домене, например \\lab.example\Public. Пользователи не знают, на каком сервере лежат файлы; подробности — в обзоре DFS Namespaces из «Источников».

Дедупликация данных. Служба роли FS-Data-Deduplication хранит повторяющиеся фрагменты тома один раз. Как её включить — в старой статье про Windows Server 2012.

Аудит доступа к файлам в этой серии не разбирается.

Диагностика: кто подключён и почему «Отказано в доступе»

Подключённых пользователей и открытые файлы показывают команды:

Get-SmbSession
Get-SmbOpenFile

Пример вывода первой команды:

SessionId     ClientComputerName ClientUserName NumOpens
---------     ------------------ -------------- --------
4415226380377 192.168.10.101     LAB\petrova           3

Команда Close-SmbOpenFile закрывает файл, открытый клиентом: пользователь может потерять несохранённые изменения, поэтому применяйте её только в крайнем случае. События SMB лежат в Просмотре событий: «Журналы приложений и служб» → Microsoft → Windows → SMBServer (на клиенте — SMBClient).

При ошибке доступа идите от простого к сложному:

Проверка Как сделать Что может оказаться причиной
Сервер доступен по SMB Test-NetConnection FS1 -Port 445 с клиента Брандмауэр, сеть
Подключение по имени \\FS1\Public, а не \\192.168.10.30\Public По IP недоступен Kerberos, возможна блокировка NTLM
Права ресурса Get-SmbShareAccess -Name Public Группы нет в списке или у неё Read
Права NTFS icacls D:\Shares\Public или вкладка «Действующий доступ» (Effective Access) в дополнительных параметрах безопасности Группы нет в списке прав, наследование отключено
Токен и билет пользователя whoami /groups на клиенте, затем выход и вход Пользователя добавили в группу после входа
Новые настройки SMB Журнал SMBClient, подпись и гостевой вход Устройство без подписи SMB, гостевой доступ запрещён по умолчанию
Видимость (Get-SmbShare -Name Public).FolderEnumerationMode ABE скрывает недоступное

Вкладка «Действующий доступ» показывает итог для выбранного пользователя и умеет учитывать оба слоя прав, если проверять по UNC-пути, а не по букве сетевого диска. Для папки на удалённом сервере проверяющий должен состоять в группе Access Control Assistance Operators или иметь административный доступ.

Типичные ошибки и недоразумения

  • «Дам Everyone полный доступ на ресурс, а дальше разберёмся в NTFS». Это работает только при безупречном NTFS, а ошибка открывает данные всем. Указывайте группы и на ресурсе.
  • Группа есть в NTFS, но не в правах ресурса (или наоборот). Доступа не будет: права складываются по более строгому.
  • Права выданы отдельным пользователям. Уходит сотрудник, и вы вычищаете его из десятков списков. Права получают группы, а пользователи входят в группы.
  • «Добавил в группу, а доступа нет». Группы фиксируются в токене и билете при входе: выйдите и войдите снова.
  • Отключили наследование и забыли про администраторов и SYSTEM. Резервное копирование и антивирус остаются без доступа, а вы без управления папкой.
  • Явные запреты (Deny). Они сильнее разрешений и запутывают. Лучше не включать пользователя в разрешающую группу.
  • Общий доступ ко всему диску. Публикуйте конкретные папки, а не D:\.
  • Включение SMB 1 ради старого устройства. Лучше обновить устройство.
  • «Теневые копии — это бэкап». Нет, они не защищают от потери диска или сервера.

Проверьте себя

  1. Права ресурса — Full Control, права NTFS — Read. Что получит пользователь по сети? Чтение: применяются более строгие права из двух.
  2. Почему сотрудник, которого добавили в GG-Accounting, всё ещё не видит \\FS1\Accounting? Группы записываются в токен и Kerberos-билет (TGT) при входе: нужно выйти из Windows и войти снова, проверить можно командой whoami /groups. Также группа должна быть и в правах ресурса, и в NTFS.
  3. Зачем после icacls /inheritance:r сразу выдавать права Administrators и SYSTEM? Параметр убирает унаследованные записи, и без явных прав список окажется пустым: вы потеряете управление папкой, а резервное копирование и антивирус — доступ к данным.
  4. Чем ABE отличается от прав NTFS? ABE лишь скрывает недоступные файлы и папки в списке, а защищают данные права NTFS. Режим включают параметром -FolderEnumerationMode AccessBased.
  5. Почему теневые копии нельзя считать резервной копией? Они хранятся на том же сервере (по умолчанию на том же томе) и пропадут вместе с ним.

Что дальше

Источники

Ссылки ведут на английские страницы: русские версии Learn — машинный перевод, названия пунктов в тексте сверены с ними.

Ещё по теме «Windows Server»