Пользователь ставит галочку "Полный доступ" в свойствах папки, а через минуту система показывает "Отказано в доступе" при попытке удалить из неё один файл. Виноват не антивирус и не сбой диска, а наследование разрешений NTFS: права на большинство файлов прописаны на родительских папках и лишь передаются вниз, к содержимому. Дальше по порядку: точные пути по окнам Windows 11, команды icacls и takeown, правила применения запретов и границы, за которыми полный доступ закономерно сдаётся.

Унаследованные разрешения и серые галочки в свойствах папки

Правый клик по папке → Свойства → вкладка Безопасность. В списке "Группы или пользователи" выделяется учётная запись, ниже раскрывается таблица разрешений. Часть галочек видна, но не нажимается: ни снять, ни поставить их нельзя. Это не глюк и не повреждённый профиль. Серые галочки показывают чужие записи, которые закреплены на родительской папке и лишь отображаются здесь.

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

Родословную записи легко проверить. Нажмите кнопку "Дополнительно", откроется окно "Дополнительные параметры безопасности". В его таблице у каждой строки есть столбец "Унаследовано от". Если там указан путь вроде C:\Users\Иван, запись приехала с родителя; пустой столбец означает явное право, назначенное на сам объект.

Ту же картину печатает консоль. Откройте меню "Пуск", введите cmd, правый клик по найденной программе → "Запуск от имени администратора", затем в окне консоли выполните:

icacls "D:\Архив\Проект"

После выполнения система напечатает список записей доступа. Строки с флагом (I) унаследованы, без флага являются явными. На родительских папках встречаются флаги (OI) и (CI): первый передаёт право файлам, второй подпапкам. Флаг (IO) предупреждает, что запись работает только для содержимого, а на саму папку не распространяется. Читая вывод, сразу видно, где спрятан источник серых галочек.

Кнопка отключения наследования и её два маршрута

Идём по пути Свойства → Безопасность → кнопка "Дополнительно". Внизу окна слева расположена кнопка "Отключение наследования". После нажатия Windows предложит два варианта, и разница между ними огромна.

Кнопка "Преобразовать унаследованные разрешения в явные для этого объекта" копирует весь список как есть, но закрепляет его на самой папке. Внешне ничего не меняется, зато серые галочки в обычной вкладке Безопасность становятся активными, и каждую строку можно править на месте. Второй вариант, "Удалить все унаследованные разрешения для этого объекта", оставляет папку почти без прав: даже владелец потеряет доступ к содержимому и упрётся в отказ. Вернуть его можно через кнопку "Добавить" → ссылка "Выберите субъект" → "Дополнительно" → "Поиск", либо перевернуть всё назад кнопкой "Включить наследование", которая появляется на месте первой.

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

Порядок применения запретов и разрешений в списке доступа

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

Из порядка следует менее очевидный вывод. Явное разрешение на самом файле сильнее унаследованного запрета с родителя. Пример: на папке D:\Архив группе "Пользователи" запрещено удаление, но на файле Отчёт.docx пользователю Иван явно выдан полный доступ. Иван удалит файл без вопросов: его явная строка проверяется раньше унаследованного запрета. Запрет надёжен только тогда, когда он тоже явный, то есть закреплён на самом объекте.

Отсюда и предел "Полного доступа". Он объединяет 13 особых прав, от обхода папок до смены владельца, но не умеет отменять чужие строки. Одна строка с явным запретом на удаление топит весь набор галочек в первой колонке. И обратная сторона: пользователь с полным доступом в любой момент откроет редактирование списка и вычеркнет вашу запись, ведь изменение разрешений входит в его набор.

Чтобы поставить запрет на удаление через интерфейс, порядок действий такой:
1. В окне "Дополнительные параметры безопасности" нажмите кнопку "Добавить" и перейдите по ссылке "Выберите субъект";
2. Через кнопку "Дополнительно" и затем "Поиск" найдите учётную запись, подтвердите кнопкой "ОК";
3. В поле "Тип" выберите вариант "Запретить", отметьте пункт "Удаление" и сохраните кнопкой "ОК".

Запреты стоит применять экономно. Каждая такая строка делает поведение системы менее предсказуемым, а следствие в виде внезапного "само же запретил" потом ищут часами.

Добавьте сюда состав учётных записей, и картина станет полной. Права пользователя складываются из всех групп, где он состоит: выданные разрешения объединяются, самое широкое побеждает. Запрет работает иначе, он вычитается из суммы. Поэтому группе разрешили, а пользователю внутри группы запретили, и пользователь остался без доступа: его явная строка запрета стоит в списке раньше группового разрешения.

Владелец файла и его особые полномочия

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

Уточнение, о котором забывают: владение не открывает содержимое, оно даёт власть над списком разрешений. Стать владельцем и читать файл ещё не одно и то же, после смены владельца права обычно выдают отдельным шагом.

Посмотреть владельца можно по пути Свойства → Безопасность → "Дополнительно": вверху строка "Владелец" со ссылкой "Изменить". Для личных каталогов там имя учётной записи, для файлов в C:\Windows – служба NT SERVICE\TrustedInstaller, она же "Установщик модулей Windows". Именно она владеет системными файлами, поэтому у администраторов по умолчанию в C:\Windows лишь чтение и выполнение. Попытка переименовать часть системных файлов закончится запросом прав от TrustedInstaller, хотя галочка в строке администратора сулит куда больше.

Смена владельца через интерфейс: по ссылке "Изменить" нажмите "Дополнительно" → "Поиск", выберите группу "Администраторы", подтвердите "ОК", затем отметьте флажок "Заменить владельца подконтейнеров и объектов" и снова "ОК".

Командный вариант быстрее. В консоли администратора выполните:

takeown /f "D:\Архив" /r /d Y

Утилита рекурсивно передаст владение всем содержимым текущему администратору, ключ /d Y подавляет вопрос на папках, к которым нет доступа для чтения списка. Ключ /a передаёт владение группе "Администраторы" вместо текущего пользователя, это удобно при починке чужого профиля. Дальше права выдаёт icacls командами из раздела ниже. Порядок принципиален: сначала владение, потом выдача прав, иначе система откажет в изменении списка.

Разница между правами на папку и на сам файл

Полный доступ на папку описывает её саму; содержимое получает права через поле "Применяется к". Вариант "Эта папка, подпапки и файлы" раздаёт право всему дереву, "Только эта папка" запирает его внутри одного уровня, а "Только подпапки и файлы" оставляет саму папку без этой строки. Один выбор в списке меняет судьбу тысяч объектов.

Права на папку и на файл связаны не так, как кажется. В наборе особых прав папки есть пункт "Удаление подпапок и файлов", и он действует поверх чужих списков: с этим правом на родителе файл удалится, даже если на самом файле стоит явный запрет на удаление. Похожая асимметрия и в названиях: у папки право называется "Список папок / чтение данных", у файла "Чтение данных"; "Запись" на папке разрешает создавать внутри файлы, на файле меняет его содержимое. Поэтому обещание полного доступа на папке не гарантирует, что конкретный файл внутри получит то же самое: старый запрет мог закрепиться прямо на нём.

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

Проверка и восстановление прав командой icacls

Все кнопки окна безопасности дублируются утилитой icacls, и в консоли это выходит быстрее. Списки всех вложенных объектов печатает команда icacls "D:\Архив" /T, ключ /C продолжит работу после ошибок на отдельных файлах, ключ /Q уберёт сообщения об успешных операциях.

Вернуть папке наследование от родителя помогает сброс:

icacls "D:\Архив\Проект" /reset /T

Система заменит текущие списки доступа унаследованными по умолчанию, и последствия экспериментов с галочками исчезнут. Выдача прав выглядит так:

icacls "D:\Архив\Проект" /grant "Иван:(OI)(CI)F"

Буква F означает полный доступ, M изменение, RX чтение и выполнение, R чтение, W запись. Флаги в скобках делают право наследуемым для файлов и подпапок. Без ключа :r новая выдача добавляется к прежним правам пользователя, с ключом заменяет их. Убирает записи команда /remove:g "Иван" для выданных прав и /remove:d "Иван" для запретов.

Наследованием управляет параметр /inheritance: значение d отключает наследование и копирует записи, r отключает и выбрасывает унаследованные, e включает обратно. Это те же кнопки окна безопасности, только без мыши. Перед массовой перестройкой списки сохраняют в файл командой icacls "D:\Архив" /save "C:\Backup\acl.txt" /t и возвращают командой icacls "D:\Архив" /restore "C:\Backup\acl.txt". Разыскивать объекты с явными записями конкретного пользователя помогает icacls "D:\Архив" /findsid Иван /T, а SID учётной записи печатает whoami /user.

Границы полного доступа при шифровании и сетевом доступе

Разрешения NTFS описывают доступ к объекту, но не к содержимому, закрытому шифрованием EFS. Шифрующая файловая система привязывает содержимое к сертификату пользователя, который это содержимое защищал. Даже администратор с полным доступом получит "Отказано в доступе" при открытии чужого зашифрованного файла: права безупречны, ключа нет. Разрешения и шифрование живут в разных плоскостях, и стыковки между ними нет.

Включается защита через Проводник: Свойства файла → кнопка "Другие…" на вкладке Общие → флажок "Шифровать содержимое для защиты данных". Проверять состояние удобнее командой cipher. В консоли выполните:

cipher /c "C:\Секрет\План.docx"

Команда напечатает, зашифрован ли файл, и перечислит сертификаты пользователей, способных его расшифровать. Команда cipher /e "C:\Секрет" шифрует каталог и всё, что попадёт в него позже, cipher /d расшифровывает обратно, а cipher без параметров помечает файлы текущей папки метками U и E, где U значит не зашифровано, E зашифровано.

Второй предел стоит на границе сети. Доступ по общему ресурсу проходит через два фильтра: разрешения общего доступа и разрешения NTFS, и итогом становится самое строгое из двух. Настроив полный доступ в NTFS и чтение на вкладке Доступ, по сети вы увидите только чтение. Путь к настройкам: Свойства папки → вкладка Доступ → "Расширенная настройка" → "Разрешения".

Практика простая. Прежде чем удивляться, проверьте действующий доступ, прочитайте вывод icacls, найдите запреты и взгляните на владельца. Система исполняет список доступа, а не намерения владельца, и галочка "Полный доступ" всего лишь обещание, которое проверяется одной командой.