Compartilhar via


icacls

Exibe ou modifica DACLs (listas de controle de acesso discricionário) em arquivos especificados e aplica DACLs armazenados a arquivos em diretórios especificados.

Note

This command replaces the deprecated cacls command.

Syntax

icacls name [/save aclfile] [/setowner user] [/findsid Sid] [/verify] [/reset] [/T] [/C] [/L] [/Q]
icacls name [/grant[:r] Sid:perm[...]] [/deny Sid:perm [...]] [/remove[:g|:d]] Sid[...]]] [/setintegritylevel Level:policy[...]] [/T] [/C] [/L] [/Q]
icacls directory [/substitute SidOld SidNew [...]] [/restore aclfile] [/C] [/L] [/Q]

Parameters

Parameter Description
<name> Especifica o arquivo para o qual exibir ou modificar DACLs.
<directory> Especifica o diretório para o qual exibir ou modificar DACLs.
/t Executa a operação em todos os arquivos especificados no diretório atual e em seus subdiretórios.
/c Continua a operação mesmo se ocorrerem erros de arquivo. Mensagens de erro ainda são mostradas.
/l Executa a operação em um link simbólico em vez de seu destino.
/q Suprime mensagens de êxito.
/salvar <ACLfile> Armazena DACLs para todos os arquivos correspondentes em um arquivo ACL (lista de controle de acesso) para uso posterior com /restore.
/setowner <user> Altera o proprietário de todos os arquivos correspondentes para o usuário especificado.
/findsid <sid> Localiza todos os arquivos correspondentes que contêm um DACL mencionando explicitamente o SID (identificador de segurança) especificado.
/verify Localiza todos os arquivos com ACLs que não são canônicas ou têm comprimentos inconsistentes com as contagens de ACE (entrada de controle de acesso).
/reset Substitui ACLs por ACLs herdadas padrão para todos os arquivos correspondentes.
/grant[:r] <sid>:<perm> Concede os direitos de acesso do usuário especificados. As permissões substituem as permissões explícitas concedidas anteriormente. Not adding :r means that permissions are added to any previously granted explicit permissions.
/deny <sid>:<perm> Nega explicitamente os direitos de acesso do usuário especificados. Uma ACE de negação explícita é adicionada para as permissões declaradas e as mesmas permissões em qualquer concessão explícita são removidas.
/remove: g | d <sid> Remove todas as ocorrências do SID especificado da DACL. Este comando também pode usar:

  • g - Removes all occurrences of granted rights to the specified SID
  • d - Removes all occurrences of denied rights to the specified SID
  • /setintegritylevel <perm><level> Adiciona explicitamente uma ACE de integridade a todos os arquivos correspondentes. O nível pode ser especificado como:

  • l - Low
  • m - Medium
  • h - High

  • As opções de herança para a ACE de integridade podem preceder o nível e são aplicadas somente a diretórios.
    /substituir <sidold><sidnew> Replaces an existing SID (sidold) with a new SID (sidnew). Requer o uso com o parâmetro <directory>.
    /restore <ACLfile> /c | /l | /q Aplica DACLs armazenados de <ACLfile> a arquivos no diretório especificado. Requer o uso com o parâmetro <directory>.
    /inheritancelevel: e | d | r Define o nível de herança, que pode ser:

  • e - Enables inheritance
  • d - Disables inheritance and copies the ACEs
  • r - Disables inheritance and removes only inherited ACEs
  • Remarks

    • Os SIDs podem estar no formato de nome numérico ou amigável. Se você usar um formulário numérico, afixe o caractere curinga * ao início do SID.

    • Este comando preserva a ordem canônica das entradas ACE como:

      • Explicit denials

      • Explicit grants

      • Inherited denials

      • Inherited grants

    • A <perm> opção é uma máscara de permissão que pode ser especificada para direitos básicos, direitos avançados ou direitos de herança:

      • Uma sequência de direitos simples (permissões básicas) sem a necessidade de usar parênteses:

        • N - No access
        • F - Full access
        • M - Modify access
        • RX - Read and execute access
        • R - Read-only access
        • W - Write-only access
        • D - Delete access
      • Uma lista separada por vírgulas de direitos específicos (permissões avançadas) que deve usar parênteses:

        • DE - Delete
        • RC - Read control (read permissions)
        • WDAC - Write DAC (change permissions)
        • WO - Write owner (take ownership)
        • S - Synchronize
        • AS - Access system security
        • MA - Maximum allowed
        • GR - Generic read
        • GW - Generic write
        • GE - Generic execute
        • GA - Generic all
        • RD - Read data/list directory
        • WD - Write data/add file
        • AD - Append data/add subdirectory
        • REA - Read extended attributes
        • WEA - Write extended attributes
        • X - Execute/traverse
        • DC - Delete child
        • RA - Read attributes
        • WA - Write attributes
      • Uma sequência de direitos de herança que deve usar parênteses:

        • (I) - Inherit. ACE herdado do contêiner pai.
        • (OI) - Object inherit. Os objetos neste contêiner herdam esse ACE. Aplica-se somente a diretórios.
        • (CI) - Container inherit. Os contêineres neste contêiner pai herdam essa ACE. Aplica-se somente a diretórios.
        • (IO) - Inherit only. ACE herdou do contêiner pai, mas não se aplica ao objeto em si. Aplica-se somente a diretórios.
        • (NP) - Don't propagate inherit. ACE herdado por contêineres e objetos do contêiner pai, mas não se propaga para contêineres aninhados. Aplica-se somente a diretórios.

    Examples

    Para salvar os DACLs para todos os arquivos no diretório C:\Windows e seus subdiretórios no arquivo ACLFile, digite:

    icacls c:\windows\* /save aclfile /t
    

    Para restaurar os DACLs para cada arquivo no ACLFile que existe no diretório C:\Windows e seus subdiretórios, digite:

    icacls c:\windows\ /restore aclfile
    

    Para conceder ao usuário User1 permissões De exclusão e gravação de DAC em um arquivo chamado Test1, digite:

    icacls test1 /grant User1:(d,wdac)
    

    Para conceder ao usuário definido pelo SID S-1-1-0 permissões de Exclusão e Gravação de DAC para um arquivo chamado TestFile, digite:

    icacls TestFile /grant *S-1-1-0:(d,wdac)
    

    To apply a high integrity level to a directory and ensure that both its files and subdirectories inherit this level, type:

    icacls "myDirectory" /setintegritylevel (CI)(OI)H