Question Que faites-vous pour réparer les autorisations corrompues ou bloquées sur les partages de fichiers de la société?


Dernièrement, j'ai travaillé avec l'un de nos responsables du stockage sur un projet qui nécessitait un contrôle minutieux des partages de fichiers volumineux utilisés par la société depuis des années. Nous rencontrons fréquemment des répertoires ou des fichiers inaccessibles (avec un compte administrateur de domaine) pour une ou plusieurs des raisons suivantes:

  • ACL corrompues
  • 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à MAX_PATH)

Quelques outils pouvant vous aider dans ces situations, de Microsoft (TAKEOWN.EXE, ICALCS.EXE, par exemple) ou de tiers (par exemple, SETACL.EXE). Parfois, d'autres astuces sont nécessaires, telles que l'exécution d'une des commandes sous le compte SYSTEM avec PSEXEC.EXE. Même pour déterminer quelles sont les étapes à suivre 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. La liste de contrôle d'accès est-elle corrompue? Si tel est le cas, réorganisez correctement les entrées de contrôle d'accès et supprimez les inconnues, puis testez à nouveau.
  3. L'accès au groupe d'administrateurs est-il refusé? Si tel est le cas, reprenez-vous, ajoutez des autorisations pour le groupe Administrateurs et le compte SYSTEM, puis testez à nouveau.
  4. Est-il toujours en train d'échouer? Si tel est le cas, supprimez toutes les entrées de contrôle d'accès et appliquez uniquement les autorisations héritées, puis vérifiez à nouveau. (C'est en quelque sorte un dernier recours, car il ouvre fréquemment des autorisations censées être plus restrictives.)
  5. Est-ce un répertoire? Si tel est le cas, le processus doit se poursuivre de manière récursive pour les fichiers qu'il contient.

Effectuer manuellement les étapes ci-dessus est une tâche ardue et déraisonnable lorsque nous avons des centaines de répertoires à réparer. J'ai essayé d'écrire des scripts pour les aider, mais je trouve qu'il est difficile de rendre le script "intelligent" au sujet des décisions qu'il prend. Il est donc souvent plus facile de faire une méthode de réparation globale, telle que 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 allez-vous résoudre les problèmes de permissions comme ceux-ci?


8
2017-07-22 18:20


origine




Réponses:


Je recommanderais d'utiliser fileacl - il est capable de définir des ACL avec SeBackupPrivelege. Ainsi, l'utilisateur sous lequel vous exécutez la commande ne doit pas être autorisé à modifier les ACL d'un objet donné. En outre, il prend en charge de manière native la fonctionnalité d'héritage post-NTFS-5 et est facilement scripté. Par conséquent, avec une logique de script de wrapping, il convient de faire ce que vous voulez.


2
2017-07-22 21:44



je fais des favoris pour cela ... merci merci merci - SpacemanSpiff
@SpacemanSpiff vous êtes les bienvenus. - the-wabbit
Je vais vérifier ... merci pour le tuyau. - ewall
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. le /force L’option fonctionne vraiment, contrairement à d’autres (par exemple, l’exécution sous le compte SYSTEM avec psexec.exe ou des options similaires d’utilisation-backup-et / ou-SYSTEM-permission). J'ai dû écrire un script PowerShell pour explorer le système de fichiers et tout réparer, mais il est génial que le seul outil externe dont il ait besoin est le suivant. Merci pour le conseil, @ syneticon-dj! - ewall