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:
- Ist der Weg zu lang? Wenn ja, erstellen Sie einen Pfad mit dem
\\?\
Präfix und testen Sie ihn erneut. - Ist die ACL beschädigt? Wenn ja, ordnen Sie die ACEs ordnungsgemäß neu an und entfernen Sie alle Unbekannten. Testen Sie sie dann erneut.
- 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.
- 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.)
- 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?