Что вы делаете, чтобы исправить поврежденные или заблокированные разрешения для общих файловых ресурсов компании?

8

В последнее время я работал с одним из наших специалистов по хранению над проектом, который включал некоторое изучение больших файловых ресурсов, которые использовались компанией в течение многих лет. Часто мы сталкиваемся с каталогами или файлами, которые нам недоступны (с учетной записью администратора домена) по одной или нескольким из следующих причин:

  • поврежденные ACL
  • доступ был отменен или запрещен для группы администраторов (или пользователя SYSTEM)
  • имя файла + слишком длинный путь (за пределами MAX_PATH )

Есть несколько инструментов, которые могут помочь в этих ситуациях, от Microsoft (например, TAKEOWN.EXE и ICALCS.EXE) или третьих лиц (например, SETACL.EXE ). Иногда нужны другие приемы, такие как запуск одной из команд под учетной записью SYSTEM с помощью PSEXEC.EXE . Даже просто выяснить, какие шаги делать и в каком порядке это вызов ...

Например, я хотел бы иметь возможность устранить неполадки с помощью потока, подобного этому:

  1. Это слишком длинный путь? Если это так, создайте путь с \\?\префиксом, а затем протестируйте снова.
  2. ACL поврежден? Если это так, измените порядок ACE и удалите все неизвестные, затем повторите тестирование.
  3. Группе администраторов отказано в доступе? Если это так, вступите во владение, добавьте обратно права доступа для группы «Администраторы» и учетной записи SYSTEM, затем повторите тестирование.
  4. Это все еще терпит неудачу? Если так, удалите все ACE и примените только унаследованные разрешения, затем проверьте снова. (Это своего рода последнее средство, поскольку часто оно открывает разрешения, которые должны были быть более строгими.)
  5. Это каталог? Если это так, то процесс должен рекурсивно продолжаться для файлов внутри ...

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

Кто-нибудь может порекомендовать другое программное обеспечение и / или сценарии, которые помогут в этом процессе? Или как вы решаете подобные проблемы с разрешениями?

ewall
источник

Ответы:

2

Я бы порекомендовал использовать fileacl - он способен устанавливать ACL с помощью SeBackupPrivelege, поэтому не требуется, чтобы пользователь, под которым вы запускаете команду, имел разрешения на изменение ACL для данного объекта. Кроме того, он изначально поддерживает функции наследования после NTFS-5 и легко сценариев, поэтому с некоторой логикой сценариев упаковки он должен делать то, что вы хотите.

заместитель Wabbit
источник
я добавляю в закладки это ... спасибо спасибо спасибо
SpacemanSpiff
@SpacemanSpiff, пожалуйста.
The Wabbit
После сравнения практически всех инструментов Microsoft и сторонних производителей, которые я смог найти, fileacl.exe оказался лучшим. Эта /forceопция действительно работает, в отличие от некоторых других (например, запуск под учетной записью SYSTEM с помощью psexec.exe или аналогичные параметры использования-резервного копирования и / или-SYSTEM-разрешения). Мне нужно было написать сценарий PowerShell, чтобы выкопать файловую систему и исправить все, но удивительно, что единственный внешний инструмент, в котором он нуждается, - это. Спасибо за совет, @ syneticon-dj!
ewall