Was tun Sie, um beschädigte oder blockierte Berechtigungen für Unternehmensdateifreigaben zu beheben?

8

In letzter Zeit habe ich mit einem unserer Speicher-Mitarbeiter an einem Projekt gearbeitet, bei dem große Dateifreigaben, die das Unternehmen seit Jahren verwendet, überprüft wurden. Häufig stoßen wir aus einem oder mehreren der folgenden Gründe auf Verzeichnisse oder Dateien, auf die wir nicht zugreifen können (mit Domänenadministratorkonto):

  • beschädigte ACLs
  • Der Zugriff wurde für die Administratorgruppe (oder den SYSTEM-Benutzer) widerrufen oder verweigert.
  • Dateiname + Pfad zu lang (jenseits von MAX_PATH )

Es gibt eine Handvoll Tools, die in diesen Situationen helfen können, von Microsoft (z. B. TAKEOWN.EXE und ICALCS.EXE) oder von Dritten (z . B. SETACL.EXE ). Manchmal sind andere Tricks erforderlich, z. B. das Ausführen eines der Befehle unter dem SYSTEM-Konto mit PSEXEC.EXE . Selbst herauszufinden, welche Schritte in welcher Reihenfolge zu tun sind, ist eine Herausforderung ...

Zum Beispiel möchte ich in der Lage sein, Fehler mit einem Fluss wie diesem zu beheben:

  1. Ist der Weg zu lang? Wenn ja, erstellen Sie einen Pfad mit dem \\?\Präfix und testen Sie ihn erneut.
  2. Ist die ACL beschädigt? Wenn ja, ordnen Sie die ACEs ordnungsgemäß neu an und entfernen Sie alle Unbekannten. Testen Sie sie dann erneut.
  3. Wird der Administratorgruppe der Zugriff verweigert? Wenn ja, übernehmen Sie den Besitz, fügen Sie die Berechtigungen für die Administratorgruppe und das SYSTEM-Konto wieder hinzu und testen Sie erneut.
  4. Scheitert es immer noch? Wenn ja, löschen Sie alle ACEs und wenden Sie nur geerbte Berechtigungen an. Überprüfen Sie dies erneut. (Dies ist eine Art letzter Ausweg, da häufig Berechtigungen geöffnet werden, die restriktiver sein sollten.)
  5. Ist es ein Verzeichnis? Wenn ja, muss der Prozess für die darin enthaltenen Dateien rekursiv fortgesetzt werden ...

Die obigen Schritte manuell auszuführen ist mühsam und unvernünftig, wenn wir Hunderte von Verzeichnissen reparieren müssen. Ich habe versucht, Skripte zu schreiben, um diese zu unterstützen, finde jedoch, dass es schwierig ist, das Skript über die getroffenen Entscheidungen "intelligent" zu machen, und daher ist es oft einfacher, eine grobe Reparaturmethode wie das Wiederherstellen nur der geerbten Berechtigungen durchzuführen.

Kann jemand andere Software und / oder Skripte empfehlen, die bei diesem Prozess helfen würden? Oder wie gehen Sie vor, um solche Berechtigungsprobleme zu beheben?

ewall
quelle

Antworten:

2

Ich würde die Verwendung von fileacl empfehlen - es ist in der Lage, ACLs mit dem SeBackupPrivelege festzulegen, sodass nicht erforderlich ist, dass der Benutzer, unter dem Sie den Befehl ausführen, über die Berechtigung zum Ändern von ACLs für ein bestimmtes Objekt verfügt. Darüber hinaus unterstützt es nativ die Vererbungsfunktionalität nach NTFS-5 und ist einfach zu skripten. Mit etwas Wrapping-Skriptlogik sollte es also das tun, was Sie wollen.

the-wabbit
quelle
Ich lese ein Lesezeichen ... Danke, danke, danke
SpacemanSpiff
@SpacemanSpiff Gern geschehen.
The-Wabbit
Nach dem Vergleich fast aller Microsoft- und Drittanbieter-Tools, die ich finden konnte, hat sich fileacl.exe als das Beste herausgestellt. Die /forceOption funktioniert wirklich, im Gegensatz zu einigen anderen (wie das Ausführen unter dem SYSTEM-Konto mit psexec.exe oder ähnlichen Optionen zum Verwenden von Sicherungs- und / oder SYSTEM-Berechtigungen). Ich musste ein PowerShell-Skript schreiben, um das Dateisystem zu durchsuchen und alles zu reparieren, aber es ist großartig, dass das einzige externe Tool, das es benötigt, dieses ist. Danke für den Tipp, @ syneticon-dj!
Ewall