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 ради старого устройства. Лучше обновить устройство.
- «Теневые копии — это бэкап». Нет, они не защищают от потери диска или сервера.
Проверьте себя
- Права ресурса —
Full Control, права NTFS —Read. Что получит пользователь по сети? Чтение: применяются более строгие права из двух. - Почему сотрудник, которого добавили в
GG-Accounting, всё ещё не видит\\FS1\Accounting? Группы записываются в токен и Kerberos-билет (TGT) при входе: нужно выйти из Windows и войти снова, проверить можно командойwhoami /groups. Также группа должна быть и в правах ресурса, и в NTFS. - Зачем после
icacls /inheritance:rсразу выдавать праваAdministratorsиSYSTEM? Параметр убирает унаследованные записи, и без явных прав список окажется пустым: вы потеряете управление папкой, а резервное копирование и антивирус — доступ к данным. - Чем ABE отличается от прав NTFS?
ABE лишь скрывает недоступные файлы и папки в списке, а защищают данные права NTFS. Режим включают параметром
-FolderEnumerationMode AccessBased. - Почему теневые копии нельзя считать резервной копией? Они хранятся на том же сервере (по умолчанию на том же томе) и пропадут вместе с ним.
Что дальше
- Сервер печати: принтеры, драйверы, развёртывание через GPO — вторая роль
FS1. - Групповые политики (GPO) — автоматическое подключение общих папок как сетевых дисков.
- Резервное копирование сервера и контроллера домена — как защитить данные файлового сервера.
- Безопасность и обслуживание: RDP, LAPS, аудит — защита сервера после настройки.
Источники
Ссылки ведут на английские страницы: русские версии Learn — машинный перевод, названия пунктов в тексте сверены с ними.
- Detect, enable, and disable SMBv1, SMBv2, and SMBv3 in Windows — проверка и отключение SMB 1, подпись SMB в Windows Server 2025
- Secure SMB Traffic in Windows Server — блокировка порта 445 от интернета, правила File and Printer Sharing
- Share and NTFS Permissions on a File Server (архив, WS 2008) — как складываются права, два подхода к настройке
- Access control overview — права группам, отсылка к странице о правах ресурса и NTFS
- icacls — права NTFS, флаги наследования,
/save,/restore,/reset - Well-known SIDs —
S-1-5-18иS-1-5-32-544 - SmbShare Module — справочник командлетов
New-SmbShare,Set-SmbShare,Grant-SmbShareAccess,Get-SmbSessionи других - File Server Resource Manager (FSRM) overview — возможности FSRM, квоты и шаблоны, только NTFS
- FileServerResourceManager Module — справочник
New-FsrmQuota,New-FsrmFileScreen,New-FsrmFileGroup - Enable and Configure Shadow Copies of Shared Folders (архив, WS 2008) — включение, расписание по умолчанию
- Best Practices for Shadow Copies of Shared Folders (архив, WS 2008–2012 R2) — рекомендации, лимит 64 копий, не замена резервной копии
- Access Denied when you access an SMB file share in Windows — причины отказа, подключение по имени, подпись SMB
- How to evaluate effective permissions for resources on remote computers — вкладка Effective Access, проверка по UNC-пути
- Group membership changes don't update over some VPN connections — токен и TGT при изменении групп,
whoami /groups - DFS Namespaces overview — назначение пространств имён DFS