Por que o utilitário NTC ACL 'icacls' alteraria a partição do sistema atrás da cena?

2

Anexei um disco rígido à minha máquina win7 e atribuí a letra da unidade I: à única partição no disco rígido. O disco rígido era originalmente de outro computador e, para evitar todos os diálogos "você não tem permissão no momento ...", decidi usar icacls para limpar todas as ACLs.

Eu corri icacls I:\ /reset /t /c /l . Depois de um tempo, o Chrome parou de funcionar. Safari caiu. Eu rastreei o problema e descobri que as ACLs da minha pasta pessoal (em C:\Users ) estão todas confusas. O Chrome e o Safari não conseguiram gravar em sua pasta de cache. Eu consertei as ACLs da minha pasta pessoal e tudo parece estar OK agora.

Por que icacls bagunçaria minha pasta pessoal quando eu dissesse especificamente que ela funcionasse na unidade I: ? Eu até coloquei a opção /L para que ela não seja resolver links simbólicos. Eu entendi mal a mudança?

Para sua referência, abaixo estão as partes relevantes da tela de ajuda.

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.
    
por netvope 30.11.2010 / 22:53

1 resposta

5

OK, encontrei a resposta ...

O oculto Documents and Settings in I:\ é uma junção apontando para C:\Users . O alvo da junção é um caminho absoluto (em oposição a um caminho relativo). Como /L cuida apenas de links simbólicos, icacls resolveu I:\Documents and Settings em C:\Users e redefiniu todas as ACLs lá.

Portanto, nunca use icacls , a menos que você tenha examinado todas as junções na pasta na qual deseja que icacls funcione! Isso torna icacls praticamente inútil como uma ferramenta de modificação de ACLs recursivas. .. Se a pasta contiver uma junção apontando para C:\ no fundo da estrutura de pastas, você poderia ter matado o seu Windows sem saber por quê!

    
por 30.11.2010 / 23:34