Que faites-vous pour corriger les autorisations corrompues ou bloquées sur les partages de fichiers de l'entreprise?

8

Dernièrement, j'ai travaillé avec l'un de nos gars du stockage sur un projet qui a impliqué un examen minutieux des partages de gros fichiers utilisés par la société depuis des années. Nous rencontrons fréquemment des répertoires ou des fichiers qui nous sont inaccessibles (avec un compte d'administrateur de domaine) pour une ou plusieurs des raisons suivantes:

  • ACL corrompus
  • l'accès a été révoqué ou refusé pour le groupe Administrateurs (ou l'utilisateur SYSTEM)
  • nom de fichier + chemin trop long (au-delà de MAX_PATH )

Il existe une poignée d'outils qui peuvent vous aider dans ces situations, de Microsoft (par exemple TAKEOWN.EXE et ICALCS.EXE) ou de tiers (par exemple SETACL.EXE ). Parfois, d'autres astuces sont nécessaires, telles que l'exécution de l'une des commandes sous le compte SYSTEM avec PSEXEC.EXE . Même juste déterminer quelles étapes à faire et dans quel ordre est un défi ...

Par exemple, j'aimerais pouvoir le dépanner avec un flux comme celui-ci:

  1. Le chemin est-il trop long? Si oui, créez un chemin avec le \\?\préfixe, puis testez à nouveau.
  2. L'ACL est-elle corrompue? Si c'est le cas, réorganisez correctement les ACE et supprimez toutes les inconnues, puis testez à nouveau.
  3. Le groupe Administrateurs se voit-il refuser l'accès? Si tel est le cas, prenez possession, ajoutez des autorisations pour le groupe Administrateurs et le compte SYSTEM, puis testez à nouveau.
  4. Est-ce toujours un échec? Si tel est le cas, supprimez tous les ACE et appliquez uniquement les autorisations héritées, puis vérifiez à nouveau. (C'est une sorte de dernier recours, car il ouvre souvent des autorisations qui étaient censées être plus restrictives.)
  5. Est-ce un répertoire? Si c'est le cas, alors le processus doit se poursuivre récursivement pour les fichiers à l'intérieur ...

Faire les étapes ci-dessus manuellement est pénible et déraisonnable lorsque nous avons des centaines de répertoires à corriger. J'ai essayé d'écrire des scripts pour les aider, mais je trouve qu'il est difficile de rendre le script «intelligent» quant aux décisions qu'il prend, et il est donc souvent plus facile de faire une méthode de réparation brute comme la restauration des autorisations héritées uniquement.

Quelqu'un peut-il recommander d'autres logiciels et / ou scripts qui pourraient aider dans ce processus? Ou, comment procédez-vous pour résoudre des problèmes d'autorisation comme ceux-ci?

ewall
la source

Réponses:

2

Je recommanderais d'utiliser fileacl - il est capable de définir des ACL avec SeBackupPrivelege, ne nécessitant donc pas que l'utilisateur sous lequel vous exécutez la commande ait les autorisations pour modifier les ACL sur un objet donné. De plus, il prend en charge nativement la fonctionnalité d'héritage post-NTFS-5 et est facilement scripté, donc avec une logique de script enveloppante, il devrait faire ce que vous voulez.

le-wabbit
la source
je marque ceci ... merci merci merci
SpacemanSpiff
@SpacemanSpiff vous êtes les bienvenus.
the-wabbit
Après avoir comparé à peu près tous les outils Microsoft et tiers que j'ai pu trouver, fileacl.exe s'est avéré être le meilleur. L' /forceoption fonctionne vraiment, contrairement à d'autres (comme l'exécution sous le compte SYSTEM avec psexec.exe, ou des options similaires d'utilisation-sauvegarde-et / ou-SYSTEM-permission). J'ai dû écrire un script PowerShell pour creuser à travers le système de fichiers et réparer tout, mais c'est génial que le seul outil externe dont il a besoin est celui-ci. Merci pour l'astuce, @ syneticon-dj!
ewall