
Microsoft Windows: контекстное меню Проводника с переходом к свойствам. Для NTFS разрешения проверяются на вкладке безопасности; само наличие меню не подтверждает доступ к содержимому.
© Microsoft. Used with permission from Microsoft. · источник и условия использования · Microsoft screenshot permissions
Вы вошли под администратором, но Windows не открывает папку или не позволяет сохранить файл. Это не обязательно неисправность системы. При доступе проверяется контекст конкретного процесса и разрешения конкретного объекта, а не только название вашей учётной записи.
При включённом UAC обычная программа администратора может работать с ограниченным токеном. Владелец объекта и пользователь, которому разрешено читать данные, тоже не обязаны совпадать. Право управлять разрешениями и право прочитать содержимое — разные возможности. [1], [2]
Далее рассматриваются ваши обычные файлы на NTFS. Защищённые папки Windows, корпоративные ресурсы и чужие данные требуют своих правил. Массовое получение владения всем диском для одной папки создаёт лишние изменения.
Схема редакции «Мы из 90х».
Проверьте точный путь. Для локального D:\Archive действуют права файловой системы и другие механизмы устройства. Для сетевой папки участвуют также разрешения общего ресурса, серверная учётная запись и условия SMB.
На серверном ресурсе пользователь может проходить проверку общего доступа, но не иметь нужных прав NTFS, либо наоборот. Изменение локальной папки на клиенте не исправляет разрешения на сервере. Современные ограничения SMB тоже могут давать похожее сообщение. [3]
Заблокированный BitLocker-том, файл EFS без закрытого ключа и диск в режиме read-only не исправляются простым добавлением Full Control. Сначала убедитесь, что исследуется именно отказ по разрешениям NTFS.
| Случай | Что проверяется |
|---|---|
| Локальный файл NTFS | Пользователь и DACL объекта |
| Сетевая папка | Общий доступ, NTFS и SMB на сервере |
| EFS | Сертификат и соответствующий закрытый ключ |
| Запрещена запись на весь диск | Состояние устройства, тома и политики |
Учебная таблица редакции.
В той же командной строке, где выполняется проверка, можно посмотреть текущую идентичность:
Командная строка
whoami /user
whoami /groupsЕсли повышенное окно запущено под другой учётной записью, это уже другой субъект доступа. Учитывайте также группы и ограничения токена. Само присутствие Administrators в списке не означает, что любая обычная программа использует все административные возможности.
Разделите операции. Просмотр каталога, чтение файла, изменение его содержимого и удаление могут проверять разные права. Программа при «сохранении» нередко создаёт временный файл и заменяет исходный; одного разрешения на чтение для этого недостаточно.
Запишите полную ошибку и момент: отказ при открытии или уже при замене результата. Это определяет, какие разрешения действительно нужны.
Откройте «Свойства» → «Безопасность» → «Дополнительно». Посмотрите владельца, записи разрешений, источник наследования и доступный раздел эффективного доступа для нужной учётной записи.
Не сводите DACL к правилу «любой запрет всегда главнее любого разрешения». При каноническом порядке сначала рассматриваются явные записи, затем унаследованные; внутри соответствующих групп запреты идут перед разрешениями. Влияет порядок и то, какие права уже разрешены или запрещены. [4]
Запрет одной из групп может объяснять результат, который не виден в строке отдельного пользователя. А явная запись дочернего объекта и унаследованная запись родителя находятся на разных уровнях. Не отключайте наследование, пока не понятно, какие записи после этого останутся.
| Уровень | Что учитывать |
|---|---|
| Явные записи объекта | Сначала запреты, затем разрешения |
| Унаследованные записи | Учитываются после явных по порядку наследования |
| Членство в группах | Права могут приходить несколькими путями |
| Запрошенное действие | Проверяется конкретный набор прав |
Таблица объясняет порядок, а не заменяет вычисление доступа для реального токена.
Учебная таблица редакции.
Для просмотра одного файла:
Командная строка
icacls "D:\Archive\scan.jpg"Для сохранения его DACL в повышенной CMD сначала создайте папку результата и перейдите в родительский каталог. Так в примере сохраняется имя относительно известной папки:
Командная строка
md C:\Iz90Diag
cd /d D:\Archive
icacls "scan.jpg" /save "C:\Iz90Diag\scan-dacl.txt"Убедитесь, что команда завершилась успешно. /save сохраняет DACL, а не полную резервную копию файла, владельца, SACL или ключей EFS. Запишите владельца и состояние наследования отдельно. Назначение параметров изложено Microsoft. [5]
Сохранение ACL, которое завершилось отказом, не создаёт готовый план возврата. Не переходите к изменениям, считая, что любая запущенная команда уже сохранила всё необходимое.
Если подтверждено, что вашему пользователю нужно чтение одного обычного файла, пример добавления такого разрешения выглядит так:
Командная строка
icacls "D:\Archive\scan.jpg" /grant "PC-NAME\UserName:R"PC-NAME\UserName — условное обозначение: замените его реальной проверенной учётной записью. R означает чтение. Параметр /grant добавляет право, а /grant:r заменяет ранее заданные явные разрешения этого субъекта. Это разные изменения. [5]
Новая разрешающая запись не устраняет автоматически явный запрет и не расшифровывает EFS. Если причина связана с родительской папкой или группой, исправляется именно подтверждённая причина. Не выдавайте Everyone полный доступ ко всему дереву ради устранения одной ошибки.
Смена владельца нужна не при каждом отказе. Если она необходима для управления вашим объектом, заранее запишите прежнего владельца и последствия; сохранённая DACL сама по себе его не восстановит.
Предложение Проводника получить доступ к папке иногда воспринимают как разовое повышение прав окна. Microsoft описывает другой сценарий: после согласия может изменяться ACL, чтобы предоставить учётной записи постоянный доступ к папке и её содержимому. [6]
Поэтому перед нажатием прочитайте сообщение и оцените область. Открытие чужого профиля или большого архива таким способом может изменить больше объектов, чем нужно для диагностики одного файла.
Если цель — исследовать причину, сначала сохраните состояние и выберите минимальный объект проверки. Наличие прав администратора не требует автоматически менять владельца и все разрешения.
Когда это ваш обычный файл, прежняя учётная запись больше не используется и у текущего пользователя нет права изменить его DACL, может потребоваться отдельная смена владельца. Сначала запишите прежний SID владельца, состояние разрешений и наличие резервной копии. Если исходную DACL прочитать не удалось, не считайте её сохранённой.
В «Свойства» → «Безопасность» → «Дополнительно» откройте изменение владельца и укажите подтверждённую учётную запись. Для начала выберите один файл. Не включайте замену владельца всех дочерних объектов большой папки без отдельной необходимости.
После этого снова проверьте доступные возможности изменения DACL и задайте только нужное право. Получение владения не является расшифровкой и само по себе не обязано дать нужный доступ к данным. Если отказ относится к EFS, вернитесь к ключу.
Возврат DACL и возврат владельца — разные операции. Icacls поддерживает отдельный /setowner, но потребуются соответствующие полномочия и корректный субъект. Сохранённый через /save файл не выполняет этот возврат за вас. Для защищённых компонентов Windows этот учебный маршрут не применяется. [1], [5]
Повторите действие тем же пользователем и программой: чтение, сохранение либо удаление. Успех команды icacls означает применение настройки, а не успешное выполнение любой операции приложения.
Для DACL, сохранённой в приведённом примере относительно D:\Archive, восстановление выполняется для этого родительского каталога:
Командная строка
icacls "D:\Archive" /restore "C:\Iz90Diag\scan-dacl.txt"Проверьте результат и текущие разрешения. Этот возврат не восстанавливает изменённого владельца и не отменяет отдельные изменения родительских папок. Не применяйте файл ACL к случайному другому корню.
Если отказ остаётся при подходящей DACL, проверьте другой механизм: шифрование, режим записи, сетевую сторону или способ работы программы с временными файлами. Для дальнейшего разбора сохраните путь, учётную запись, действие, исходные ACL и конкретное выполненное изменение.
Схема редакции «Мы из 90х».