2

Недавно я пытался помочь кому-то, чей компьютер вышел из строя (причина, по которой это пока не важно), восстановив жесткий диск (т.е. извлеките его из компьютера и подключите к док-станции для резервного копирования содержимого), но у меня возникли проблемы с разрешениями Windows и владением.

Люди всегда думают, что, поскольку я заядлый программист и изучаю математику, я должен каким-то волшебным образом знать ответы на все повседневные компьютерные проблемы, и им действительно трудно убедить их в том, что эти вещи на самом деле не связаны (да, но программирование и управление системой это совершенно разные вещи).

В любом случае, когда я подключил жесткий диск к док-станции и подключил его к другому компьютеру (оба работают под управлением Windows Vista, но это не мой выбор), разделы показывались как обычно, но когда я пытался просмотреть содержимое, все разделы были недоступны (разрешение отказано). Раньше я делал подобные вещи без проблем, и единственное отличие тогда заключалось в том, что жесткий диск пришел с компьютера с Windows 7. Я выяснил, что разделы и их содержимое по-прежнему имеют старые атрибуты безопасности для различных учетных записей пользователей и что Windows почему-то все еще их уважает. Поэтому я попытался добавить соответствующие разрешения для моей локальной учетной записи администратора с помощью: свойства -> безопасность -> редактировать -> добавить. Я думал, что это будет рекурсивно устанавливать разрешения для всех лежащих в основе папок и объектов, но это не сработало, но теперь я мог видеть, по крайней мере, содержимое корневого раздела (подкаталоги и объекты по-прежнему недоступны).

Пока я пытался решить, что мне делать дальше, я заметил, что нет владельцев объектов и папок. Я не знаю точно, в чем разница между владением объектом или наличием разрешений безопасности для объекта, но я также попытался добавить владельца в свою локальную учетную запись пользователя, например: properties -> security -> advanced -> owner -> edit -> применить. И теперь проблема: на полпути при предоставлении права собственности моему локальному пользователю появилось диалоговое окно, в котором говорилось, что у меня нет прав на изменение владельца. Исследуя, что пошло не так в этот раз, я заметил две вещи:

  • Я мог читать / писать / выполнять все папки и объекты, которым было предоставлено право собственности (таким образом, все папки и объекты обрабатывались до появления диалогового окна).
  • Там, где на разделе было 1 ГБ свободного места, теперь осталось всего несколько КБ. Казалось, что предоставление права собственности заняло больше, чем гигабайт, что мне показалось слишком дорогим для некоторых метаданных.

Я попробовал точно такой же подход, но затем с разными разделами произошло то же самое, за исключением одного раздела, где было 20 ГБ свободного места (дополнительное пространство не использовалось в этом разделе).

Есть мысли о том, что происходит?

1 ответ1

0

Вообще говоря, вы не можете переместить файловые системы на основе разрешений из одной независимой операционной системы в другую, потому что идентификаторы учетных записей не будут совпадать между системами. Если жесткий диск рассматривается как "внешний" или "съемный" носитель, принудительное разрешение разрешается. Если жесткий диск подключен и отображается как "фиксированный жесткий диск", Windows полностью обеспечит соблюдение разрешений и, если учетные записи отсутствуют в новой системе, оставит большинство файлов недоступными.

Если вы хотите проверить, как диск подключен, вы можете запустить эту команду PowerShell:

Get-WmiObject -Class Win32_DiskDrive | Format-Table Name,Model, MediaType

Независимо от типа, если вы не планируете когда-либо возвращать этот диск в систему, из которой он был получен, вы можете выполнить перебор разрешений методом грубой силы, если у вас есть права администратора. (Если вы хотите использовать этот диск в другой системе, вам нужно будет уговаривать его в показе как съемный или внешний диск.) В командной строке с повышенными привилегиями (администратор) выполните следующие команды:

Сброс разрешения грубой силы

Во-первых, возьмите на себя ответственность за все на диске (это просто установит владельца, а не создаст большие списки ACL, которые занимают место на диске). Владельцу объекта в NT присуще неотъемлемое право изменять права доступа к объекту. Это обеспечит вам разрешение на выполнение следующих команд.

TAKEOWN /F X:\ /R /D Y

Затем, сбросьте (удалите) все ACL на всех объектах файловой системы. Это избавит от ненужных копий ACL, которые в противном случае могли бы быть унаследованы:

ICACLS X:\ /RESET /T /C

Затем установите все списки ACL для наследования разрешений от их родителей:

ICACLS X:\ /INHERITANCE:E /T /C

Наконец, вы можете явно установить безопасность на вкладке безопасности диска «X:», и разрешения будут просто наследоваться по всей файловой системе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .