Почему утилита NTFS ACL `icacls` изменяет системный раздел за сценой?

2751
netvope

Я подключил жесткий диск к моей машине win7 и назначил букву диска I:единственному разделу жесткого диска . Жесткий диск был изначально с другого компьютера, и чтобы избежать всех этих диалогов «у вас нет разрешения ...», я решил использовать icaclsдля очистки всех списков ACL.

Я побежал icacls I:\ /reset /t /c /l. Через некоторое время Chrome перестал работать. Сафари разбился. Я проследил проблему и обнаружил, что ACL моей домашней папки (в C:\Users) все перепутано. Chrome и Safari не могли записать в свою папку кеша. Я установил списки ACL моей домашней папки и все, кажется, будет хорошо в настоящее время.

Зачем icaclsсвязываться с моей домашней папкой, когда я специально сказал, чтобы она работала на I:диске? Я даже включил /Lпереключатель, чтобы он не разрешал символические ссылки. Я неправильно понял переключатель?

Для справки ниже приведены соответствующие части экрана справки.

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 ответ на вопрос

5
netvope

ОК, я нашел ответ ...

Скрытое Documents and Settingsв I:\это соединение, указывающее на C:\Users. Цель соединения - абсолютный путь (в противоположность относительному пути). Поскольку /Lухаживает символические ссылки только, icaclsразрешено I:\Documents and Settingsв C:\Usersи сбросить все списки ACL там.

Поэтому никогда не используйте, icaclsесли вы не проверили все соединения в папке, с которой хотите icaclsработать! Это делает icaclsпрактически бесполезным инструментом рекурсивной модификации ACL ... Если папка содержит узел, указывающий C:\глубоко внутрь структуры папки, вы могли убить Windows, даже не зная, почему!