Warum ändert das NTFS-ACL-Dienstprogramm "icacls" die Systempartition hinter den Kulissen?

2881
netvope

Ich habe eine Festplatte an meine Win7-Maschine angeschlossen und den Laufwerkbuchstaben I:der einzigen Partition auf der Festplatte zugewiesen . Die Festplatte war ursprünglich von einem anderen Computer, und um all diese Dialogfelder zu vermeiden, für die Sie derzeit keine Berechtigung haben, entschied ich mich, icaclsalle ACLs zu löschen.

Ich lief icacls I:\ /reset /t /c /l. Nach einer Weile funktionierte Chrome nicht mehr. Safari stürzte ab. Ich verfolgte das Problem und stellte fest, dass die ACLs meines Home-Ordners (in C:\Users) alle fehlerhaft sind. Chrome und Safari konnten nicht in ihren Cache-Ordner schreiben. Ich habe die ACLs meines Home-Ordners korrigiert und alles scheint jetzt in Ordnung zu sein.

Warum sollte icaclsich mit meinem Heimatordner herumspielen, wenn ich ausdrücklich gesagt habe, dass er auf dem I:Laufwerk arbeiten soll? Ich habe sogar den /LSchalter eingesetzt, damit symbolische Links nicht aufgelöst werden. Habe ich den Schalter falsch verstanden?

Nachfolgend finden Sie die relevanten Teile des Hilfebildschirms.

ICACLS name /reset [/T] [/C] [/L] [/Q] replaces ACLs with default inherited ACLs for all matching files.  /T indicates that this operation is performed on all matching files/directories below the directories specified in the name.  /C indicates that this operation will continue on all file errors. Error messages will still be displayed.  /L indicates that this operation is performed on a symbolic link itself versus its target. 
2

1 Antwort auf die Frage

5
netvope

OK, ich habe die Antwort gefunden ...

Das verborgene Documents and Settingsin I:\ist eine Kreuzung, die auf zeigt C:\Users. Das Ziel der Kreuzung ist ein absoluter Pfad (im Gegensatz zu einem relativen Pfad). Da /LPflege von symbolischen Links erfolgt nur, icaclsaufgelöst I:\Documents and Settingsin C:\Usersund alle ACLs dort zurückgesetzt.

Verwenden icaclsSie es daher niemals, es sei denn, Sie haben alle Verknüpfungen in dem Ordner geprüft, an dem Sie arbeiten möchten icacls! Dies macht icaclspraktisch als rekursives ACLs-Änderungswerkzeug unbrauchbar ... Wenn der Ordner eine Verzweigung enthält, die C:\tief in der Ordnerstruktur zeigt, hätten Sie Ihr Windows möglicherweise töten können, ohne zu wissen, warum!