Вопрос или проблема
Это похоже на ситуацию, в которой сначала появилась курица или яйцо…
У меня есть папка, для которой я на протяжении некоторого времени выполнял теневое копирование. Это работало прекрасно, и восстановление было легким, когда пользователь случайно удалял что-то. Пока сейчас…
- DomainAdmin = Домашний администратор, который является частью группы администраторов домена.
- UserA = Пользователь низкого уровня с практически нулевым доступом.
- FolderA = Общественная папка, используемая всеми пользователями для сброса файлов.
- FolderB = Папка отдельного пользователя, к которой только он имеет доступ.
Давайте просто упростим и скажем, что эта папка содержит 10 файлов. Все 10 этих файлов имеют ACL, которые включают группу DomainAdmin с полным доступом к файлам, за исключением 2 файлов. Эти 2 файла имеют ACL только для конкретного пользователя, который их создал (UserA).
Каждые 12 часов создается теневое копирование этой папки (FolderA). Я получаю запрос на восстановление папки, потому что кто-то (UserA) удалил свой файл в папке (FolderA). Я иду восстанавливать его, как обычно, но затем получаю следующую ошибку…
Интересно… Я открываю папку теневого копирования и вижу файл с проблемой. Я щелкаю правой кнопкой мыши по нему, перехожу в свойства и нажимаю на вкладку безопасности, чтобы получить это…
Итак, я говорю ОК… ничего нового… Я видел это прежде. Мне просто нужно взять на себя право собственности на файл, а затем изменить ACL по своему усмотрению… Так что, когда я пытаюсь это сделать, я получаю следующее…
Ну… Это моя дилемма. Похоже, что файл находится в состоянии только для чтения. Не из-за какого-то типа атрибута, а из-за чего-то другого, основанного на том, как происходит теневое копирование. Я попробовал просто скопировать папку теневого копирования (чтобы сбросить все разрешения), но не могу скопировать эти файлы из-за отсутствия ACL!
Идеи? Решения?
Пусть пользователь сам получит его из теневого копирования через вкладку “Предыдущие версии”.
Если это не сработает по какой-то причине, возможно, попробуйте дать пользователю разрешения администратора домена достаточно долго, чтобы он мог получить файл из теневого копирования (спросив его).
У меня была такая же проблема некоторое время назад.
Установите файловый менеджер, такой как Total Commander, запустите его с помощью PSExec как пользователь SYSTEM, и у вас будет доступ к этим файлам.
Ответ или решение
Ошибка доступа при восстановлении предыдущих версий файлов в Windows
Вопрос о том, как восстановить файлы из теневых копий (shadow copies) в системе Windows, может оказаться довольно сложным, особенно когда дело касается прав доступа. В данном случае, у нас есть несколько важных компонентов, которые необходимо рассмотреть для эффективности решения вашей проблемы.
1. Описание проблемы
Вы столкнулись с проблемой, когда попытка восстановления файла из теневой копии приводит к ошибке доступа. Эта проблема возникла в контексте следующего:
-
Системная Конфигурация:
DomainAdmin
— администратор домена с полными правами доступа.UserA
— пользователь с минимальными правами доступа.FolderA
— общая папка для всех пользователей.FolderB
— личная папка отдельного пользователя.
-
Ситуация: Теневые копии этого каталога создаются каждые 12 часов. При попытке восстановить файл, который был случайно удалён
UserA
, вы сталкиваетесь с ошибкой доступа.
2. Естественные ограничения теневых копий
Когда файловая система Windows создает теневые копии, она сохраняет состояние файлов на момент создания копии, включая их контроль доступа (ACL). Если конкретные файлы (в данном случае, два файла, созданные UserA
) имеют уникальные разрешения, которые ограничивают доступ других пользователей, даже администраторам, вы можете столкнуться с ситуацией, когда не получится восстановить их через стандартные средства Windows, используя права администратора.
3. Потенциальные решения
Решение 1: Передача прав доступа
Чтобы решить эту проблему, можно попробовать временно предоставить DomainAdmin
права UserA
, чтобы восстановить файл непосредственно от имени этого пользователя. Это может быть выполнено через следующие шаги:
- Войдите в систему как
DomainAdmin
. - Перейдите в свойства папки, содержащей файл, и добавьте
DomainAdmin
к списку разрешений с полными правами. - Зайдите в учётную запись
UserA
, чтобы восстановить файл из раздела «Предыдущие версии».
Решение 2: Использование сторонних инструментов
Если первый метод оказался неэффективным, можно использовать сторонние программы управления файлами, такие как Total Commander. Вот шаги, как это сделать:
- Загрузите и установите Total Commander.
- Запустите его с правами системного пользователя с помощью
PsExec
. - В интерфейсе Total Commander вы получите доступ к теневым копиям и сможете перенести необходимые файлы в другую папку.
Решение 3: Изменение механизмов теневых копий
Возможно, стоит пересмотреть политику создания и хранения теневых копий в вашей организации. Убедитесь, что для всех файлов создаются более универсальные ACL, что позволит администраторам или другим пользователям с достаточными правами получать доступ ко всем необходимым файлам в будущем.
4. Заключение
Ситуация, с которой вы столкнулись, подчеркивает важность правильной настройки прав доступа в системе Windows, а также необходимость учёта, кто и как может взаимодействовать с файлом. Если все предложенные решения не дали результата, возможен вариант создания резервных копий на уровне сервера с использованием специализированных приложений, которые могут облегчить процесс восстановления.
Обязательно следите за актуальными обновлениями и изменениями в политике безопасности вашей системы, чтобы минимизировать подобные проблемы в будущем.