Назад | Перейти на главную страницу

Сброс разрешений NTFS для всего диска

Кто-то сильно испортил настройки разрешений на диске NTFS, и я ищу способ сбросить все разрешения по умолчанию. ОС будет переустановлена, но я пытаюсь восстановить данные из их пользовательских каталогов.

Никакие данные не зашифрованы на уровне FS.

Любые рекомендации о том, как этого добиться?

Если вы говорите о диске, на котором нет установки Windows, просто используйте утилиты «TAKEOWN» и «ICACLS»:

TAKEOWN /f "X:\" /r /d y
ICACLS "X:\" /reset /T

Затем вы можете сбросить списки ACL на все, что захотите.

Если это диск с установленной операционной системой Windows 2000, XP или Server 2003 (не знаю о Vista на этом диске), вы можете попробовать повторно применить шаблон безопасности по умолчанию:

secedit /configure /db secedit.sdb /cfg %SystemRoot%\defltwk.inf /overwrite /verbose

(При установке Windows Server замените defltsv.inf на defltwk.inf.)

В качестве альтернативы takeown и * cacls вы можете использовать SetACL, чтобы сначала получить право собственности на каждый файл и каталог на диске, а затем установить требуемые разрешения.

Установка администратора всего дерева и включение наследования дочерних объектов:

SetACL.exe -on "C:\" -ot file -actn setprot -op "dacl:np;sacl:nc" 
           -rec cont_obj -actn setowner -ownr "n:S-1-5-32-544;s:y"

Добавление полных разрешений для администраторов:

SetACL.exe -on "C:\" -ot file -actn ace -ace "n:S-1-5-32-544;s:y;p:full"

Я не уверен, что такое существует. Тем не менее, если вы не создаете образ системы, ОС можно переустановить без удаления пользовательских данных, что также исправит разрешения для папок, связанных с ОС. В зависимости от того, какой это тип системы и что доступно, поместите диск в другую систему и удалите пользовательские данные, затем выполните очистку и переустановите.

Я никогда не слышал о чем-либо, что могло бы «сбросить» разрешения на все до чистого листа, если не считать «восстановление из резервной копии».

Даже если бы это было так, ему потребовался бы способ узнать, кто и какими файлами владеет, а также разрешения реестра и другую идентификационную информацию. Скорее всего, это облажается, и у вас будет система, которая будет вести себя странно в случайное время, если только у рассматриваемой программы не было снимка того, в каком состоянии была машина при первой установке ... в этом случае это то же самое в качестве резервной копии. Вы могли бы потенциально изменить разрешения и идентификаторы (идентификаторы безопасности), просто добавив пользователей и установив ОС в первую очередь на машине, потому что Windows имела определенные вещи в ACL, которые относятся к установке.

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

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

Я не вижу способа вернуть вещи к тому, как они использовали только одну коробку, но если у вас есть второй доступный, либо в качестве замены, либо в качестве временной промежуточной области (даже ПК с здоровенным HD подойдет для временная постановка), вот одно решение. Здесь, вероятно, можно найти короткие пути, но я предпочитаю медленный и тщательный способ, поскольку он менее подвержен человеческим ошибкам.

Предположим, что сервер A - это тот, у которого испорчены разрешения, а сервер B - это либо замена, либо временная промежуточная область.

  • Выполните восстановление из последней удачной резервной копии на сервер B (при этом убедитесь, что вы выбрали вариант восстановления безопасности).
  • На сервере A определите, можете ли вы получить доступ к данным.
    • Если нет, возьмите на себя ответственность за все через графический интерфейс или командную строку.
    • Определите, можете ли вы получить доступ к данным сейчас.
    • Если нет, предоставьте себе полный контроль.
  • Скопируйте данные с сервера A на сервер B, используя xcopy / S / E / C / H / R / K / Y. Не используйте / O, так как это перезапишет ваши восстановленные ACL.
  • Если это сервер на замену, все готово. Если нет, после перестроения сервера A скопируйте на него обратно с сервера B, на этот раз используя xcopy / S / E / C / H / R / K / O / Y (на этот раз здесь находится примечание / 0).
  • Поговорите в углу с человеком, который это сделал. Бейсбольные биты и угрозы лишить их прав администратора могут быть или не быть необязательными, в зависимости от того, как вы себя чувствуете.