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

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

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

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

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

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

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

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

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