icacls
Exibe ou modifica DACLs (listas de controle de acesso condicional) em arquivos especificados e aplica a DACLs armazenadas a arquivos nos diretórios especificados.
Observação
Esse comando substitui o comando cacls preterido.
Sintaxe
icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]
Parâmetros
Parâmetro | Descrição |
---|---|
<filename> | Especifica o arquivo do qual exibir ou modificar DACLs. |
<diretório> | Especifica o diretório do 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, apesar de quaisquer erros de arquivo. As mensagens de erro ainda serão exibidas. |
/l | Executa a operação em um link simbólico em vez de seu destino. |
/q | Suprime as mensagens de sucesso. |
[/save <ACLfile> [/t] [/c] [/l] [/q]] | Armazena DACLs para todos os arquivos correspondentes em um arquivo de ACL (lista de controle de acesso) para uso posterior com /restore. |
[/setowner <username> [/t] [/c] [/l] [/q]] | Altera o proprietário de todos os arquivos correspondentes para o usuário especificado. |
[/findsid <sid> [/t] [/c] [/l] [/q]] | Localiza todos os arquivos correspondentes que contêm uma DACL mencionando explicitamente o SID (identificador de segurança) especificado. |
[/verify [/t] [/c] [/l] [/q]] | Localiza todos os arquivos com ACLs que não são canônicas ou têm comprimentos inconsistentes com contagens de ACE (entrada de controle de acesso). |
[/reset [/t] [/c] [/l] [/q]] | Substitui ACLs por ACLs herdadas padrão para todos os arquivos correspondentes. |
[/grant[:r] <sid>:<perm>[...]] | Concede direitos de acesso de usuário especificados. As permissões substituem as permissões explícitas concedidas anteriormente. Não adicionar o :r significa que as permissões são adicionadas a quaisquer permissões explícitas concedidas anteriormente. |
[/deny <sid>:<perm>[...]] | Nega explicitamente os direitos de acesso do usuário especificado. 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>[...] [/t] [/c] [/l] [/q] | Remove todas as ocorrências das SID especificada da DACL. Esse comando também pode usar:
|
[/setintegritylevel [(CI)(OI)] <Level>:<Policy>[...]] | Adiciona explicitamente uma ACE de integridade a todos os arquivos correspondentes. O nível pode ser especificado como:
|
[/substitute <sidold><sidnew> [...]] | Substitui uma SID existente (sidold) por uma nova SID (sidnew). Requer o uso com o parâmetro <directory> . |
/restore <ACLfile> [/c] [/l] [/q] | Aplica DACLs armazenadas 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:
|
Comentários
As SIDs podem estar no formato numérico ou de nome amigável. Se você usar um formato numérico, afixe o caractere curinga * no início da SID.
Esse comando preserva a ordem canônica das entradas de ACE como:
Negações explícitas
Concessões explícitas
Negações herdadas
Concessões herdadas
A opção
<perm>
é uma máscara de permissão que pode ser especificada em uma das seguintes formas:Uma sequência de direitos simples (permissões básicas):
F - acesso completo
M - modificar o acesso
RX - acesso de leitura e execução
R - acesso somente leitura
W - acesso somente gravação
Uma lista separada por vírgulas entre parênteses de direitos específicos (permissões avançadas):
D - exclusão
RC - controle de leitura (permissões de leitura)
WDAC - gravar DAC (permissões de alteração)
WO - proprietário da gravação (assumir a propriedade)
S - sincronizar
AS - segurança do sistema de acesso
MA - máximo Permitido
GR - leitura genérica
GW - gravação genérica
GE - execução genérica
GA - todos genéricos
RD - ler dados/listar diretório
WD - gravar dados/adicionar arquivo
AD - acrescentar dados/adicionar subdiretório
REA - ler atributos estendidos
WEA - atributos estendidos de gravação
X - executar/percorrer
DC - excluir filho
RA - atributos de leitura
WA - atributos de gravação
Os direitos de herança podem preceder qualquer forma de
<perm>
:(I) - herança. ACE herdada do contêiner pai.
(OI) - herança de objeto. Os objetos nesse contêiner herdarão essa ACE. Aplica-se apenas a diretórios.
(CI) - herança de contêiner. Os contêineres nesse contêiner pai herdarão essa ACE. Aplica-se apenas a diretórios.
(IO) - somente herança. ACE herdada do contêiner pai, mas não se aplica ao objeto em si. Aplica-se apenas a diretórios.
(NP) - não propagar herança. ACE herdada por contêineres e objetos do contêiner pai, mas que não se propaga para contêineres aninhados. Aplica-se apenas a diretórios.
Exemplos
Para salvar as DACLs de 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 de cada arquivo no ACLFile que existe no diretório C:\Windows e seus subdiretórios, digite:
icacls c:\windows\ /restore aclfile
Para conceder ao User1 as permissões de exclusão e gravação de DAC para um arquivo chamado Test1, digite:
icacls test1 /grant User1:(d,wdac)
Para conceder ao usuário definido pela SID S-1-1-0 as permissões de exclusão e gravação de DAC para um arquivo chamado Test2, digite:
icacls test2 /grant *S-1-1-0:(d,wdac)