我将硬盘连接到我的 win7 机器,并将驱动器号分配I:
给硬盘上的唯一分区。该硬盘最初来自另一台计算机,为了避免出现所有“您目前没有权限...”对话框,我决定使用它icacls
来清除所有 ACL。
我运行了icacls I:\ /reset /t /c /l
。过了一会儿,Chrome 停止工作。Safari 崩溃了。我追踪了问题,发现我的主文件夹(在C:\Users
)的 ACL 都乱了。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.
答案1
好的,我找到了答案......
隐藏Documents and Settings
的I:\
是指向 的联结点C:\Users
。联结点的目标是绝对路径(而不是相对路径)。由于/L
仅处理符号链接,icacls
因此解析I:\Documents and Settings
为C:\Users
并在那里重置所有 ACL。
因此,除非您已经检查过要处理的icacls
文件夹中的所有连接点,否则切勿使用!icacls
这使得icacls
递归 ACL 修改工具实际上毫无用处...如果文件夹包含指向C:\
文件夹结构深处的连接点,您可能会在不知道原因的情况下关闭 Windows!