Você consegue criar arquivos, mas não consegue apagá-los no Windows 11

Usuário consegue criar e editar arquivos, mas não consegue apagá-los no Windows 11 por causa de permissões NTFS, ACL, herança e acesso negado
Diagnóstico de Acesso negado no Windows 11 quando o usuário consegue criar, editar e salvar arquivos, mas não consegue excluí-los por causa das permissões NTFS.
16 / 100 Pontuação de SEO

Você abre uma pasta no Windows 11, cria um novo arquivo e salva normalmente. Abre novamente, modifica seu conteúdo e salva outra vez.

Até aí, tudo funciona.

Então tenta excluir o mesmo arquivo e recebe uma mensagem de Acesso negado, falta de permissão ou a operação simplesmente não é permitida.

O comportamento parece contraditório:

Se tenho permissão para criar e modificar arquivos nessa pasta, por que não posso apagá-los?

A resposta está em uma característica importante do sistema de arquivos NTFS: criar, gravar, modificar e excluir não são exatamente a mesma operação do ponto de vista das permissões.

Uma pasta pode permitir determinadas ações e bloquear outras.

Por isso, um cenário como este é perfeitamente possível:

Criar arquivo       → permitido
Abrir arquivo       → permitido
Gravar conteúdo     → permitido
Excluir arquivo     → negado

E existe uma complicação adicional: a autorização para excluir um objeto pode depender não apenas das permissões aplicadas diretamente ao arquivo, mas também das permissões existentes na pasta que o contém.

Isso significa que simplesmente olhar para:

Propriedades
→ Segurança

e verificar que seu usuário possui algumas caixas marcadas como Permitir nem sempre explica o comportamento.

Neste guia, vamos investigar o problema como um diagnóstico NTFS.

Vamos trabalhar com conceitos como:

  • ACL;
  • ACE;
  • herança;
  • permissões explícitas;
  • permissões herdadas;
  • Delete;
  • Delete Subfolders and Files;
  • proprietário;
  • grupos;
  • permissões efetivas;
  • icacls;
  • PowerShell;
  • arquivos e pastas pai.

O objetivo não será apenas fazer o arquivo desaparecer.

Será descobrir qual regra de autorização está produzindo o Acesso negado.


Primeiro: confirme que realmente é um problema de permissão

Antes de alterar qualquer ACL, precisamos confirmar o sintoma.

Existem vários motivos para o Windows não conseguir apagar um arquivo.

Entre eles:

permissão NTFS
arquivo aberto por processo
arquivo em uso pela rede
sistema de arquivos com problema
aplicativo de sincronização
proteção específica de software

Portanto:

não consigo excluir

não significa automaticamente:

permissão NTFS incorreta

Arquivo bloqueado por processo é outro problema

Imagine que um programa esteja mantendo o arquivo aberto.

Nesse caso, o Windows pode informar que:

o arquivo está sendo usado por outro processo

Esse cenário envolve handles e bloqueios de arquivo.

É diferente de uma autorização NTFS negada.

No blog da VMIA já tratamos separadamente da investigação de arquivos bloqueados por processos.

Neste artigo, nosso foco é principalmente o cenário em que:

usuário consegue acessar
usuário consegue criar
usuário consegue gravar
mas a exclusão é negada

Faça um teste controlado

Crie uma pasta de teste em um local apropriado onde você possa experimentar sem risco aos dados.

Por exemplo:

C:\TesteNTFS

Dentro dela, crie:

teste.txt

Agora teste separadamente:

abrir
editar
salvar
renomear
excluir

Registre quais operações funcionam.


Por que testar cada operação?

Porque dizer:

“Não tenho permissão na pasta.”

é pouco preciso.

Talvez você tenha permissão para quase tudo.

Exemplo:

Leitura       → OK
Criação       → OK
Gravação      → OK
Renomeação    → OK
Exclusão      → FALHA

Agora temos um problema muito mais específico.


NTFS não trabalha apenas com “pode” ou “não pode”

Na interface gráfica, as permissões aparecem agrupadas em categorias conhecidas:

Controle total
Modificar
Ler e executar
Listar conteúdo da pasta
Leitura
Gravação

Essas categorias ajudam o usuário, mas por baixo delas existem direitos mais específicos.

É isso que explica alguns comportamentos aparentemente estranhos.


“Gravação” não significa necessariamente “posso fazer qualquer coisa”

Esse é um dos pontos mais importantes do artigo.

Muitos usuários interpretam:

Gravação = posso criar, alterar e apagar tudo

Mas o modelo de autorização é mais granular.

Uma permissão pode permitir operações necessárias para criar ou gravar conteúdo sem conceder todas as operações relacionadas à exclusão.


Excluir é um direito próprio

Entre os direitos utilizados pelo Windows existe uma permissão relacionada à exclusão do próprio objeto.

Conceitualmente:

DELETE

Esse direito participa da decisão sobre a possibilidade de remover determinado arquivo ou diretório.


Existe também “Excluir subpastas e arquivos”

Em permissões avançadas de diretório, encontramos um direito normalmente apresentado como:

Excluir subpastas e arquivos

Em inglês:

Delete subfolders and files

Esse direito pertence ao diretório e influencia a capacidade de excluir objetos filhos.

E é aqui que o diagnóstico fica muito interessante.


A exclusão pode depender do arquivo OU da pasta pai

De forma simplificada, a exclusão de um arquivo pode ser autorizada por direitos relacionados ao próprio objeto ou por direitos adequados existentes no diretório pai.

Pense nesta estrutura:

C:\Dados
└── relatorio.docx

Existem dois objetos diferentes:

C:\Dados

e:

C:\Dados\relatorio.docx

Cada um possui seu próprio descritor de segurança.


Isso explica comportamentos aparentemente impossíveis

Podemos ter:

arquivo:
DELETE não concedido

pasta pai:
direito adequado para excluir objetos filhos concedido

e a exclusão ainda pode ser permitida conforme a avaliação das permissões aplicáveis.

Ou podemos montar o cenário inverso e encontrar um bloqueio.

Por isso, analisar somente o arquivo pode produzir uma conclusão incompleta.


Não examine apenas teste.txt

Se o problema acontece em:

C:\Dados\teste.txt

investigue:

teste.txt

e também:

C:\Dados

Esse detalhe é fundamental.


ACL: a lista que controla o acesso

NTFS utiliza listas de controle de acesso.

ACL significa:

Access Control List

Em português, lista de controle de acesso.

Uma ACL contém entradas que determinam quais identidades possuem determinados direitos sobre o objeto.


ACE: cada regra dentro da ACL

Cada entrada é chamada de ACE:

Access Control Entry

Simplificando:

ACL
├── ACE usuário A
├── ACE grupo B
├── ACE Administradores
└── ACE SYSTEM

Cada ACE pode definir permissões específicas.


Seu usuário pode receber direitos de várias fontes

Imagine que Victor pertence aos grupos:

Usuários
Administradores
GrupoEmpresa

A autorização efetiva não deve ser analisada olhando somente uma entrada com o nome:

Victor

O Windows também considera os grupos relevantes e outras regras aplicáveis ao token de segurança.


É por isso que a tela Segurança pode confundir

Você pode encontrar:

Victor
→ Permitir gravação

mas existir também uma regra relevante aplicada por outro grupo.

O resultado final depende da avaliação do conjunto aplicável.


Permitir e Negar não devem ser analisados isoladamente

ACLs podem conter ACEs que concedem ou negam direitos.

Isso significa que uma configuração como:

Usuários
→ Permitir

não necessariamente encerra a investigação.

Pode existir uma entrada de negação específica que afeta a operação.


Não saia adicionando “Controle Total”

Quando aparece Acesso negado, uma solução comum é:

adicionar usuário
→ Controle Total
→ aplicar

Isso pode mascarar a configuração original.

Pior: pode conceder muito mais acesso do que realmente era necessário.

Em uma pasta compartilhada ou corporativa, isso pode criar um problema de segurança.


Primeiro leia a ACL existente

Vamos usar uma ferramenta nativa extremamente útil:

icacls

Ela permite visualizar e manipular ACLs de arquivos e diretórios.

Neste primeiro momento, queremos apenas consultar.


Consulte a pasta

Abra o Prompt de Comando e execute:

icacls "C:\Dados"

A saída pode apresentar entradas associadas a usuários e grupos.


Consulte também o arquivo

icacls "C:\Dados\teste.txt"

Agora podemos comparar:

ACL da pasta
versus
ACL do arquivo

Por que usar aspas?

Sempre que o caminho puder conter espaços:

C:\Dados da Empresa

use:

icacls "C:\Dados da Empresa"

Isso evita que o interpretador separe incorretamente o caminho.


O que significam códigos como F, M, RX, R e W?

Na saída do icacls, você pode encontrar abreviações.

Entre as mais comuns:

F
M
RX
R
W

Em termos gerais, representam conjuntos de direitos como:

F  → Full control
M  → Modify
RX → Read and execute
R  → Read
W  → Write

A saída pode incluir outras marcações relacionadas a herança e aplicação das permissões.


“Modificar” é diferente de “Gravar”

Essa diferença é muito importante para nosso cenário.

O conjunto Modificar normalmente inclui direitos mais amplos que simples Gravação, incluindo capacidade relacionada à exclusão.

Portanto, se um usuário recebeu apenas:

W

não conclua:

“Ele pode modificar tudo.”


Faça um teste comparativo

Execute:

icacls "C:\Dados"

e depois:

icacls "C:\Dados\teste.txt"

Salve os resultados.

Por exemplo:

icacls "C:\Dados" > C:\Temp\acl-pasta.txt

e:

icacls "C:\Dados\teste.txt" > C:\Temp\acl-arquivo.txt

Agora você preservou a configuração antes de alterar qualquer coisa.


Isso é especialmente importante em máquinas de clientes

Antes de mexer em permissões, registre o estado original.

Uma alteração incorreta pode permitir acesso indevido ou impedir o acesso de usuários que antes funcionavam.


Você também pode salvar ACLs

O icacls possui recursos para salvar informações de ACL para posterior restauração em cenários apropriados.

Antes de grandes alterações em uma árvore de diretórios, isso pode ser muito útil.

O princípio é simples:

backup da ACL
↓
alteração
↓
teste

em vez de:

alterar tudo
↓
algo quebra
↓
não lembro como estava

Herança: outra peça fundamental

Imagine:

C:\Empresa
└── Financeiro
    └── relatorio.xlsx

A pasta:

Financeiro

pode herdar permissões de:

Empresa

E:

relatorio.xlsx

pode herdar permissões de:

Financeiro

Uma permissão herdada não foi necessariamente configurada naquele arquivo

Na interface gráfica, você pode encontrar entradas originadas da pasta pai.

Isso significa:

permissão observada no arquivo

pode ter vindo de:

diretório acima

Por que isso importa?

Porque você pode tentar corrigir:

relatorio.xlsx

quando a regra problemática está realmente em:

C:\Empresa

e continua sendo propagada.


O que significam (I), (OI) e (CI) no icacls?

Dependendo da ACL, o icacls pode exibir marcações como:

(I)
(OI)
(CI)

Entre seus significados:

(I)  → herdada
(OI) → object inherit
(CI) → container inherit

Essas marcações ajudam a entender de onde a permissão veio e para quais tipos de objetos ela pode ser propagada.


Exemplo conceitual

Imagine:

GrupoEquipe:(OI)(CI)(RX)

Isso sugere uma regra configurada para propagação a objetos e contêineres filhos, com direitos de leitura e execução.

Agora compare com:

GrupoEquipe:(OI)(CI)(M)

O conjunto de direitos é diferente.


Não decore a saída: compare

O objetivo não é memorizar todos os códigos do icacls.

É responder:

quem recebe a permissão?
qual permissão?
é herdada?
vem de onde?
aplica-se ao arquivo?
aplica-se à pasta?

Descubra quem você realmente é naquele processo

Execute:

whoami

Depois:

whoami /groups

Isso mostra os grupos presentes no token atual.


Por que whoami /groups ajuda?

Porque talvez a ACL não tenha uma entrada com seu usuário.

Ela pode ter:

DOMINIO\Financeiro

e você pertence ao grupo Financeiro.

Agora a regra passa a fazer sentido.


Administrador não significa ignorar NTFS

Esse é outro mito comum.

Pertencer ao grupo Administradores não significa que todas as operações de arquivo serão automaticamente permitidas.

NTFS continua aplicando controle de acesso.

Além disso, elevação, propriedade e ACL são conceitos diferentes.


“Executar como administrador” não é solução universal

Se a operação funciona apenas elevada, isso é uma pista sobre o contexto de segurança.

Mas não conclua:

precisa sempre executar como administrador

Talvez a ACL esteja configurada incorretamente para o usuário que deveria utilizar aquela pasta normalmente.


Proprietário também não significa Controle Total

Outro ponto fundamental:

Owner

não é sinônimo de:

Full Control

Ser proprietário de um arquivo não significa automaticamente possuir todos os direitos para utilizá-lo da maneira imaginada.


Então para que serve a propriedade?

A propriedade participa do modelo de segurança e pode permitir ao proprietário modificar determinadas informações de segurança do objeto.

Mas:

sou proprietário

e:

tenho permissão de exclusão

não são exatamente a mesma afirmação.


Não assuma propriedade de C:\Windows inteiro

Esse tipo de procedimento aparece em tutoriais genéricos e pode causar sérios problemas de segurança e manutenção.

Pastas do sistema utilizam permissões deliberadamente específicas.

Objetos pertencentes a identidades como:

TrustedInstaller
SYSTEM

não devem ser modificados em massa apenas para eliminar uma mensagem de Acesso negado.


TrustedInstaller não é um inimigo

Quando determinados arquivos do Windows pertencem ao TrustedInstaller, isso normalmente faz parte da proteção e manutenção do sistema.

Trocar o proprietário apenas para conseguir apagar um arquivo pode atacar o mecanismo de proteção em vez da causa do problema.


Nosso caso ideal é uma pasta de dados

Por exemplo:

D:\Empresa\Projetos

ou:

C:\Dados

onde determinado usuário deveria legitimamente:

criar
editar
excluir

mas a exclusão falha.


Crie uma matriz de operações

Antes de tocar na ACL:

OperaçãoResultado
Listar pastaOK
Abrir arquivoOK
Criar arquivoOK
Modificar arquivoOK
SalvarOK
Renomear?
ExcluirFalha
Criar subpasta?
Excluir subpasta?

Essa tabela fornece pistas importantes.


Teste arquivo criado pelo próprio usuário

Crie:

arquivo-novo.txt

e tente apagá-lo imediatamente.

Depois tente apagar um arquivo antigo.

Se:

arquivo novo → exclui
arquivo antigo → não exclui

temos uma pista.

Talvez as ACLs sejam diferentes.


Compare com icacls

icacls "C:\Dados\arquivo-novo.txt"

e:

icacls "C:\Dados\arquivo-antigo.txt"

Agora procure diferenças.


Arquivos na mesma pasta podem ter ACLs diferentes

Isso acontece porque:

um herdou permissões
outro possui regras explícitas
um foi movido
outro foi criado ali
herança foi alterada

Portanto:

“Estão na mesma pasta.”

não garante:

“Possuem exatamente as mesmas permissões.”


Copiar e mover podem produzir resultados diferentes

Esse assunto merece atenção especial.

Dependendo de onde um arquivo veio e de como foi movido ou copiado, o comportamento das permissões pode surpreender.

É possível terminar com:

arquivo A → ACL esperada
arquivo B → ACL diferente

mesmo que ambos estejam agora no mesmo diretório.

Vamos aprofundar isso nas próximas partes.


Teste uma subpasta

Crie:

C:\Dados\TesteSubpasta

Depois tente excluí-la.

Agora temos outro dado:

exclusão de arquivo funciona?
exclusão de diretório funciona?

Uma pasta pode permitir criar filhos, mas impedir removê-los

Esse cenário é particularmente útil em ambientes nos quais usuários devem:

depositar arquivos

mas não necessariamente:

remover arquivos existentes

Ou seja, o comportamento aparentemente estranho pode ser intencional.


Pense em uma “caixa de entrega”

Imagine uma pasta destinada a receber documentos.

A política desejada pode ser:

usuário:
pode criar arquivo
pode gravar arquivo

mas:
não deve apagar documentos depois de enviados

NTFS possui granularidade suficiente para implementar cenários desse tipo.


Portanto, não “corrija” antes de saber se é intencional

Em um computador doméstico, talvez seja uma ACL acidental.

Em uma empresa, pode ser uma política deliberada.

Pergunte:

quem deveria conseguir excluir?

antes de:

dar Controle Total para Todos

“Everyone: Full Control” é uma péssima ferramenta de diagnóstico

Além de aumentar a superfície de acesso, essa alteração destrói uma parte importante da evidência.

Se tudo passa a funcionar, você descobriu apenas:

era relacionado a autorização

mas não:

qual direito faltava
qual grupo estava envolvido
qual ACE causava o bloqueio

Preserve a configuração problemática

Ela é útil.

Queremos analisar:

ACL pasta pai
ACL arquivo
usuário
grupos
herança
permissões explícitas

antes da correção.


Verifique as permissões avançadas pela interface

Clique com o botão direito no objeto:

Propriedades
→ Segurança
→ Avançadas

Essa tela oferece uma visão mais detalhada das entradas de permissão.

Observe:

Principal
Tipo
Acesso
Herdado de
Aplica-se a

“Aplica-se a” é extremamente importante

Uma regra pode ser destinada a:

esta pasta
subpastas
arquivos

ou combinações.

Isso significa que enxergar uma entrada na pasta não garante que ela produza exatamente o mesmo efeito em todos os objetos filhos.


Exemplo conceitual

Uma regra pode ser:

Aplica-se a:
Somente esta pasta

Outra:

Esta pasta, subpastas e arquivos

São configurações completamente diferentes.


Investigue também regras de negação

Na tela avançada, procure entradas:

Negar

Se existirem, descubra:

qual principal?
qual direito?
herdada ou explícita?
aplica-se onde?

Não remova imediatamente.


Uma negação pode ser intencional

Exemplo:

GrupoFuncionarios
→ pode modificar

GrupoProtegido
→ negação específica de exclusão

A configuração pode fazer parte de uma política de segurança.


PowerShell também consegue mostrar a ACL

Execute:

Get-Acl "C:\Dados" | Format-List

Para o arquivo:

Get-Acl "C:\Dados\teste.txt" | Format-List

Veja as entradas de acesso

Uma visualização útil:

(Get-Acl "C:\Dados").Access

E:

(Get-Acl "C:\Dados\teste.txt").Access

Você poderá observar propriedades relacionadas a:

IdentityReference
FileSystemRights
AccessControlType
IsInherited
InheritanceFlags
PropagationFlags

Essa visão é excelente para diagnóstico

Em vez de apenas:

M
RX
W

podemos enxergar direitos com nomes mais detalhados.


Exemplo de investigação

(Get-Acl "C:\Dados").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Isso ajuda a responder:

quem?
recebe o quê?
permitir ou negar?
herdado?

Faça o mesmo no arquivo

(Get-Acl "C:\Dados\teste.txt").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Compare os resultados.


Procure direitos relacionados à exclusão

Entre os direitos que podem aparecer, procure conceitos como:

Delete
DeleteSubdirectoriesAndFiles
Modify
FullControl
Write

Não analise um deles isoladamente.


O teste decisivo é comparar pasta pai e objeto

Monte algo assim:

USUÁRIO/GRUPO:
Empresa\Usuario

PASTA:
C:\Dados

Arquivo:
C:\Dados\teste.txt

Pasta permite:
?

Arquivo permite:
?

Negações:
?

Herança:
?

Exclusão:
Falha

Agora estamos fazendo diagnóstico de verdade.


Cuidado com arquivos em compartilhamentos de rede

Se:

C:\Dados

funciona localmente, mas:

\\SERVIDOR\Dados

não funciona pela rede, existe outra camada.

Em compartilhamentos SMB, precisamos considerar:

permissões do compartilhamento
+
permissões NTFS

Esse caso será tratado separadamente mais adiante no artigo.


Não confunda permissão de compartilhamento com NTFS

São mecanismos diferentes.

Você pode ter:

Share → Controle Total
NTFS → somente leitura

e a operação continuar limitada.

Ou:

Share → somente leitura
NTFS → Controle Total

e a rede continuar impedindo gravações.


Neste primeiro diagnóstico, teste localmente quando possível

Se o arquivo está no computador servidor, compare:

acesso local

com:

acesso via \\servidor\compartilhamento

Se o comportamento muda, a camada SMB passa a ser relevante.


E se a pasta estiver no OneDrive?

Sincronização adiciona outra variável.

Um arquivo que reaparece, desaparece ou não pode ser alterado pode envolver sincronização e não apenas ACL.

Novamente:

sintoma
≠
diagnóstico

Como saber se estamos realmente diante de NTFS?

Quanto mais o cenário se aproxima de:

volume NTFS local
arquivo não está bloqueado
usuário consegue criar e gravar
exclusão retorna acesso negado
ACL mostra diferença relevante

mais forte fica a hipótese de autorização NTFS.


Primeiro roteiro de diagnóstico

Antes de qualquer correção:

1. reproduza o erro
2. anote a mensagem
3. teste criar arquivo
4. teste modificar
5. teste renomear
6. teste excluir
7. teste subpasta
8. compare arquivo novo e antigo
9. execute whoami
10. execute whoami /groups
11. execute icacls na pasta
12. execute icacls no arquivo
13. examine herança
14. examine regras explícitas
15. examine negações
16. compare pasta pai e arquivo
17. teste local versus rede, se aplicável
18. não altere a ACL ainda

O principal aprendizado

A frase:

“Consigo gravar, então deveria conseguir apagar.”

não é uma regra válida para NTFS.

O Windows trabalha com direitos diferentes e avalia uma lista de controle de acesso composta por usuários, grupos, permissões explícitas, permissões herdadas e regras aplicáveis ao objeto e ao diretório que o contém.

Por isso, nosso cenário pode ser perfeitamente coerente:

criar → permitido
gravar → permitido
excluir → negado

O erro só parece contraditório quando tratamos todas as permissões como uma única coisa.

A partir do momento em que separamos:

arquivo
pasta pai
ACL
ACE
herança
grupos
Delete
Delete Subfolders and Files

o problema começa a fazer sentido.

Delete, Delete Subfolders and Files, herança e Deny: como descobrir exatamente qual regra NTFS está bloqueando a exclusão

Na Parte 1, vimos que o NTFS não trata:

criar
gravar
modificar
excluir

como se fossem uma única permissão.

Agora chegamos ao ponto central do diagnóstico.

Se um usuário consegue criar e editar um arquivo, mas recebe Acesso negado ao tentar excluí-lo, precisamos entender como o Windows toma essa decisão.

E existe um detalhe que costuma surpreender:

Para diagnosticar a exclusão de um arquivo, não basta olhar apenas para as permissões desse arquivo. A pasta pai também pode participar da autorização.

É justamente essa característica que explica muitos casos nos quais a tela Segurança parece mostrar uma coisa, mas o comportamento real parece mostrar outra.


Os dois direitos que mais nos interessam

Para este problema, dois direitos merecem atenção especial:

Delete

e:

Delete Subfolders and Files

Em termos conceituais, eles representam coisas diferentes.

Delete está relacionado à possibilidade de excluir o próprio objeto.

Delete Subfolders and Files, também conhecido no modelo de direitos do sistema como um direito de exclusão de filhos do diretório, está relacionado à capacidade do diretório pai de permitir a remoção de objetos contidos nele.

Isso cria uma relação importante:

pasta pai
    ↓
arquivo

A decisão não deve ser interpretada apenas olhando para o arquivo isoladamente.


Exemplo: arquivo sem Delete, mas exclusão funciona

Imagine:

D:\Empresa\Relatorios
└── janeiro.xlsx

Ao analisar janeiro.xlsx, você não encontra uma concessão de Delete da maneira esperada para o usuário.

A conclusão apressada seria:

O usuário não poderá apagar o arquivo.

Mas ainda precisamos analisar:

D:\Empresa\Relatorios

porque direitos aplicáveis no diretório pai também podem participar da decisão de exclusão dos objetos filhos.

Esse é um dos motivos pelos quais a investigação deve sempre comparar:

ACL do arquivo
+
ACL da pasta pai

E o contrário também merece investigação

Imagine agora que o arquivo aparentemente possui direitos amplos, mas existe uma regra de negação relevante.

Podemos encontrar um cenário como:

Usuário
→ vários direitos permitidos

Grupo
→ negação específica relacionada à exclusão

Como o usuário pertence ao grupo, precisamos considerar essa entrada durante a avaliação.

É por isso que simplesmente encontrar:

Permitir

em uma linha da interface não encerra o diagnóstico.


Como enxergar direitos detalhados com PowerShell

Vamos usar:

Get-Acl "C:\Dados\teste.txt"

Para visualizar especificamente as entradas:

(Get-Acl "C:\Dados\teste.txt").Access

Uma apresentação mais organizada:

(Get-Acl "C:\Dados\teste.txt").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Agora faça o mesmo na pasta:

(Get-Acl "C:\Dados").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Quatro colunas merecem atenção

IdentityReference

Mostra a identidade à qual a ACE está associada.

Pode ser:

usuário
grupo local
grupo de domínio
SYSTEM
Administrators
Users

FileSystemRights

Mostra os direitos associados à entrada.

AccessControlType

Normalmente indica:

Allow

ou:

Deny

IsInherited

Indica se a entrada foi herdada.

Exemplo:

True

significa que a ACE veio de um nível superior.


Faça um inventário antes de alterar

Podemos guardar as informações:

(Get-Acl "C:\Dados").Access |
Out-File "C:\Temp\acl-pasta.txt"

(Get-Acl "C:\Dados\teste.txt").Access |
Out-File "C:\Temp\acl-arquivo.txt"

Agora temos um registro do estado anterior.


Descubra os grupos do usuário

Execute:

whoami /groups

Esse comando é essencial porque uma ACE relevante pode não mencionar diretamente o nome do usuário.

Exemplo:

ACL:
EMPRESA\Financeiro
→ regra X

Usuário:

EMPRESA\Victor

Se Victor pertence a:

EMPRESA\Financeiro

a regra pode fazer parte da autorização efetiva.


Não olhe apenas para o nome do usuário

Esse é um erro frequente.

O raciocínio:

meu nome não aparece na ACL
↓
logo não existe regra para mim

está errado.

Os grupos presentes no token do usuário também importam.


Um exemplo clássico de conflito aparente

Imagine:

Victor
→ Allow Modify

e:

GrupoRestrito
→ Deny Delete

Victor pertence a GrupoRestrito.

Não podemos olhar apenas para:

Victor → Allow Modify

e concluir que tudo será permitido.

Precisamos avaliar todas as ACEs relevantes e como elas se aplicam à operação específica.


Deny merece atenção, mas não simplifique demais

É comum ouvir:

“Deny sempre vence Allow.”

Essa frase pode ser útil como simplificação inicial, mas o modelo real de avaliação de acesso é mais detalhado.

Importam fatores como:

direito solicitado
ACE aplicável
ordem/canonicalização da ACL
identidade
herança
tipo da entrada

Portanto, não use uma regra de bolso para substituir a análise da ACL.


Uma negação pode afetar apenas um direito

Exemplo:

Deny Delete

não significa necessariamente:

Deny Read
Deny Write
Deny Execute

Isso explica perfeitamente um cenário em que:

abre → sim
edita → sim
salva → sim
exclui → não

É exatamente esse tipo de ACL que estamos procurando

Se o sintoma é específico, procure uma diferença igualmente específica.

Não espere necessariamente encontrar:

SEM PERMISSÃO

para tudo.

Pode ser uma única operação bloqueada.


Use icacls para procurar Deny

Execute:

icacls "C:\Dados"

e:

icacls "C:\Dados\teste.txt"

Compare as entradas.

Se houver uma regra de negação, investigue:

quem recebe?
qual direito?
é herdada?
onde se aplica?

Permissão explícita versus herdada

Imagine esta estrutura:

D:\Empresa
└── Financeiro
    └── relatorio.xlsx

Financeiro herda de:

D:\Empresa

e relatorio.xlsx herda de:

Financeiro

Agora suponha que alguém adicione uma regra específica em Financeiro.

Podemos terminar com uma combinação de:

permissões herdadas
+
permissões explícitas

Por que isso complica?

Porque a ACL que você vê em:

relatorio.xlsx

pode ser resultado de várias camadas.

A origem da regra problemática talvez esteja duas pastas acima.


Use “Herdado de” na interface avançada

Abra:

Propriedades
→ Segurança
→ Avançadas

Observe a coluna:

Herdado de

Ela pode revelar imediatamente a origem da ACE.


Exemplo

Você encontra:

GrupoEmpresa
Modificar
Herdado de D:\Empresa

Agora sabe que alterar somente:

relatorio.xlsx

pode não ser a solução arquitetural correta.

Talvez seja necessário revisar a política da pasta superior — se você tiver autorização administrativa para isso.


Não desative a herança apenas para “ver se resolve”

Esse é outro procedimento comum que pode criar uma ACL muito mais difícil de administrar.

Ao desativar herança sem entender o desenho original, você pode transformar uma estrutura simples:

pasta pai
↓
permissões herdadas

em dezenas ou milhares de objetos com configurações independentes.

Primeiro descubra por que a herança está produzindo o comportamento.


“Converter permissões herdadas” também altera a estrutura

Quando o Windows oferece a possibilidade de converter entradas herdadas em explícitas, isso muda a forma como futuras alterações na pasta pai serão propagadas.

Portanto, não é apenas um botão de reparo.

É uma decisão de administração de ACL.


Faça o teste com um arquivo recém-criado

Esse teste é extremamente valioso.

Crie:

C:\Dados\novo.txt

Depois:

icacls "C:\Dados\novo.txt"

Compare com:

icacls "C:\Dados\antigo.txt"

Cenário A — novo pode ser apagado, antigo não

Isso sugere que os dois objetos não possuem exatamente a mesma situação de segurança ou outro atributo/contexto relevante.

Compare as ACLs.

Pergunte:

antigo possui ACE explícita?
novo herdou normalmente?
antigo veio de outro local?

Cenário B — nenhum arquivo pode ser apagado

Agora a pasta pai ganha ainda mais importância.

Se:

todo arquivo criado ali

apresenta o mesmo comportamento, uma regra aplicada à pasta pode explicar o padrão.


Cenário C — somente arquivos de outro usuário não podem ser apagados

Agora investigue:

proprietário
ACL específica
origem do arquivo
herança

Não presuma que propriedade seja a causa, mas registre a diferença.


Cenário D — arquivos podem ser apagados, subpastas não

Agora compare os direitos e a aplicação das ACEs a:

arquivos
subpastas
esta pasta

O campo Aplica-se a pode ser decisivo.


OI e CI ajudam a explicar propagação

No icacls, você pode encontrar:

(OI)
(CI)

Em linhas gerais:

OI → herança para objetos/arquivos
CI → herança para contêineres/subpastas

Uma regra pode ser propagada para arquivos e não para diretórios, ou vice-versa, dependendo da configuração.


Por isso arquivo e subpasta podem se comportar diferente

Exemplo:

criar arquivo → OK
excluir arquivo → OK

criar subpasta → OK
excluir subpasta → Acesso negado

Isso não é necessariamente um bug.

Pode ser consequência direta da forma como a ACE foi configurada.


“Esta pasta somente” também muda tudo

Uma ACE pode se aplicar apenas à pasta atual.

Exemplo conceitual:

Usuário
→ direito X
→ Esta pasta somente

Ela não precisa aparecer da mesma maneira nos filhos.


Compare a árvore, não apenas um objeto

Para um problema em:

D:\Empresa\Financeiro\2026\relatorio.xlsx

pode ser necessário observar:

D:\Empresa
D:\Empresa\Financeiro
D:\Empresa\Financeiro\2026
relatorio.xlsx

Não para modificar tudo, mas para localizar onde a regra entrou na árvore.


Get-Acl ajuda a automatizar essa comparação

Por exemplo:

$paths = @(
    "D:\Empresa",
    "D:\Empresa\Financeiro",
    "D:\Empresa\Financeiro\2026",
    "D:\Empresa\Financeiro\2026\relatorio.xlsx"
)

foreach ($path in $paths) {
    Write-Host "`n### $path"
    (Get-Acl $path).Access |
        Format-Table IdentityReference, FileSystemRights,
        AccessControlType, IsInherited -AutoSize
}

Agora conseguimos observar como as entradas mudam ao longo da árvore.


Mas não use scripts de alteração em massa ainda

Neste momento, estamos lendo.

Essa diferença é importante:

Get-Acl
→ diagnóstico

enquanto comandos que modificam ACLs podem alterar milhares de objetos rapidamente.


Como verificar o proprietário

PowerShell:

(Get-Acl "C:\Dados\teste.txt").Owner

Para a pasta:

(Get-Acl "C:\Dados").Owner

Registre o resultado.


Proprietário diferente é uma pista, não uma condenação

Se:

arquivo A → usuário X
arquivo B → usuário Y

isso não prova automaticamente por que um pode ser excluído e outro não.

Precisamos continuar olhando para a ACL.


Teste com outro usuário autorizado

Se possível, compare dois usuários.

Exemplo:

Usuário A:
cria → OK
apaga → não

Usuário B:
cria → OK
apaga → OK

Agora compare:

grupos
ACL aplicável
token

Isso pode reduzir bastante o problema.


Não teste dando senha de administrador a todo mundo

Use uma conta de teste ou um usuário legitimamente autorizado.

O objetivo é comparar contextos de segurança, não contornar o controle de acesso.


Permissões efetivas

A interface avançada do Windows possui recursos para avaliar o acesso efetivo de uma identidade a determinado objeto.

Isso é útil porque o usuário pode receber direitos de várias ACEs e grupos.

Em vez de tentar calcular tudo visualmente, a análise de acesso efetivo ajuda a responder:

o que este usuário realmente pode fazer aqui?

Verifique especificamente exclusão

Não observe apenas:

Leitura
Gravação

Procure os direitos relacionados à operação que falha.

Se o problema é excluir, investigue exclusão.


Isso parece óbvio, mas evita muitos diagnósticos ruins

É comum encontrar:

Gravação → permitido

e concluir:

Então não pode ser permissão.

Mas justamente o ponto deste artigo é que gravar não é sinônimo de excluir.


Renomear também é um teste interessante

Tente:

teste.txt
→ teste2.txt

Se renomear funciona, mas excluir não, registre.

Se ambos falham, isso também é informação.

Operações sobre nomes e diretórios podem exigir direitos diferentes conforme o contexto.


Mover dentro do mesmo volume é outro teste útil

Considere:

C:\PastaA\arquivo.txt

movido para:

C:\PastaB\arquivo.txt

Não faça isso com dados importantes durante um diagnóstico experimental.

Use arquivos de teste.


Copiar e mover não são conceitualmente idênticos

Ao copiar:

origem
↓
novo objeto no destino

Ao mover, especialmente dentro do mesmo volume NTFS, o comportamento pode ser diferente porque não estamos necessariamente tratando a operação como uma simples criação independente idêntica a uma cópia.

Isso pode influenciar o resultado das permissões.


Esse comportamento explica ACLs “estranhas”

Um usuário pode dizer:

Todos esses arquivos estão na mesma pasta. Por que só alguns dão Acesso negado?

Uma das perguntas técnicas deve ser:

como esses arquivos chegaram aqui?

Foram:

criados?
copiados?
movidos?
restaurados?
extraídos?
migrados de outro disco?

A origem pode ajudar a explicar a ACL atual.


Não normalize ACLs em massa sem descobrir isso

Um comando recursivo aplicado na raiz errada pode modificar milhares de arquivos.

Antes de qualquer normalização, tenha:

backup dos dados
registro das ACLs
escopo exato
motivo técnico

Compartilhamento SMB adiciona outra camada

Agora imagine:

\\SERVIDOR\Financeiro

O arquivo está fisicamente em:

D:\Financeiro

Ao acessar pela rede, existem pelo menos duas camadas relevantes:

permissão do compartilhamento
+
permissão NTFS

Teste local e remoto

No servidor:

D:\Financeiro\teste.txt

Teste com um contexto autorizado.

Depois, pela rede:

\\SERVIDOR\Financeiro\teste.txt

Se o comportamento for diferente, investigue a camada de compartilhamento além do NTFS.


Um exemplo clássico

Compartilhamento:

Usuários
→ Change

NTFS:

Usuários
→ Write

O acesso final não vira automaticamente Controle Total.

A autorização efetiva continua limitada pelo conjunto aplicável.


Outro exemplo

Share:

Read

NTFS:

Modify

Pela rede, o usuário não ganha Modify simplesmente porque NTFS permitiria.


Por isso “local funciona, rede não” é uma pista excelente

Esse resultado indica:

ACL NTFS pode não ser a única camada

Não altere NTFS para corrigir um problema exclusivamente do Share

Caso contrário, você reduz a segurança do disco sem corrigir corretamente a arquitetura de acesso.


E se for NAS?

Se o caminho estiver em um NAS ou outro servidor, o sistema de permissões do dispositivo pode não ser idêntico ao de um volume NTFS local do Windows.

Não aplique automaticamente procedimentos de icacls a um sistema que não está sob controle NTFS local.


E FAT32 ou exFAT?

Esse é outro teste básico.

Execute:

Get-Volume

e confirme o sistema de arquivos.

Se o volume for:

FAT32
exFAT

não estamos diante do mesmo modelo de ACL NTFS descrito neste artigo.


Confirme antes de passar horas investigando ACL

PowerShell:

Get-Volume |
Format-Table DriveLetter, FileSystem, FileSystemLabel -AutoSize

ProcMon pode entrar no diagnóstico?

Sim, mas em uma etapa posterior.

Se as ACLs parecem corretas e ainda existe ACCESS DENIED, o Process Monitor pode ajudar a observar qual operação realmente recebe a negação e qual processo está executando a tentativa.

Isso é especialmente útil quando o erro aparece dentro de um aplicativo, e não diretamente no Explorer.


Exemplo

Explorer:

excluir → funciona

Aplicativo:

excluir → Access Denied

Agora temos uma pista importante:

contexto do processo

pode ser diferente.


O processo pode estar rodando como outro usuário

No Process Explorer ou Gerenciador de Tarefas, verifique o contexto quando necessário.

Um serviço pode operar como:

SYSTEM
LocalService
NetworkService
conta específica

enquanto o usuário interativo utiliza outra identidade.


“Eu consigo apagar no Explorer” não significa que o serviço consegue

Exatamente.

Permissão pertence ao contexto de segurança que está realizando a operação.


Crie uma ficha de diagnóstico NTFS

Use este modelo:

Caminho:
C:\Dados\teste.txt

Sistema de arquivos:
NTFS

Usuário:
DOMINIO\usuario

Grupos:
...

Criar:
OK

Editar:
OK

Renomear:
OK/FALHA

Excluir:
FALHA

Excluir arquivo novo:
OK/FALHA

Excluir arquivo antigo:
OK/FALHA

Excluir subpasta:
OK/FALHA

ACL pasta pai:
...

ACL arquivo:
...

Deny encontrado:
SIM/NÃO

Herança:
SIM/NÃO

Owner:
...

Local:
OK/FALHA

Rede:
OK/FALHA

Agora o problema deixa de ser:

“não consigo apagar”

e vira um conjunto objetivo de evidências.


O que não fazer nesta fase

Evite:

takeown /f C:\ /r

Evite conceder:

Everyone → Full Control

Evite resetar ACL de:

C:\Windows
C:\Program Files
C:\

Evite desativar herança de árvores inteiras sem planejamento.

Evite remover ACEs Deny sem saber por que existem.


Por que takeown não é a primeira resposta?

Porque propriedade e permissão de exclusão são conceitos diferentes.

Se o problema é uma ACE específica, assumir propriedade pode:

não resolver a causa
+
alterar a arquitetura de segurança

Por que Full Control também é ruim como diagnóstico?

Porque ele pode conceder:

leitura
gravação
execução
alteração
exclusão
mudança de permissões

quando talvez o usuário precise apenas de um conjunto menor de direitos.

Princípio importante:

Conceda o acesso necessário para a função, não o máximo possível apenas para eliminar uma mensagem de erro.


Primeiro determine a permissão faltante

A sequência correta é:

reproduzir
↓
identificar identidade
↓
identificar grupos
↓
analisar ACL do arquivo
↓
analisar ACL da pasta
↓
verificar herança
↓
verificar Deny
↓
verificar acesso efetivo
↓
formular hipótese

Somente depois:

corrigir ACL

Exemplo prático 1 — usuário só possui Write

Sintoma:

cria arquivo → OK
grava → OK
exclui → falha

ACL mostra direitos de gravação, mas não o conjunto esperado para exclusão.

Agora existe uma explicação coerente.

A correção deve refletir o nível de acesso que o usuário realmente deveria possuir.


Exemplo prático 2 — Deny herdado

Sintoma:

todos os arquivos de uma árvore
→ não podem ser excluídos

A análise mostra uma ACE de negação herdada de uma pasta superior.

Agora sabemos por que alterar apenas um arquivo não ataca a origem.


Exemplo prático 3 — arquivo antigo possui ACL diferente

Sintoma:

arquivo novo → apaga
arquivo antigo → não apaga

icacls mostra diferenças.

Agora a investigação se concentra na origem e na ACL daquele conjunto antigo.


Exemplo prático 4 — funciona localmente, falha pela rede

Sintoma:

D:\Dados\arquivo.txt → exclui
\\Servidor\Dados\arquivo.txt → falha

A análise precisa incluir permissões do compartilhamento.


Exemplo prático 5 — Explorer funciona, aplicativo falha

Sintoma:

Explorer → exclui
programa → Access Denied

Agora devemos descobrir sob qual identidade o processo está funcionando.


Exemplo prático 6 — somente subpastas falham

Sintoma:

arquivos → exclui
subpastas → não

Investigue:

CI
OI
Aplica-se a
Delete
Delete Subfolders and Files

A grande pergunta técnica

Em vez de:

Por que o Windows não deixa apagar?

pergunte:

Qual identidade está tentando excluir qual objeto, quais ACEs se aplicam a ela e quais direitos efetivos existem no objeto e no diretório pai?

Essa pergunta conduz a um diagnóstico muito mais preciso.


Checklist da Parte 2

[ ] Confirmei que o volume é NTFS
[ ] Identifiquei o usuário com whoami
[ ] Listei grupos com whoami /groups
[ ] Consultei icacls na pasta
[ ] Consultei icacls no arquivo
[ ] Usei Get-Acl para visualizar direitos detalhados
[ ] Procurei Delete
[ ] Procurei DeleteSubdirectoriesAndFiles
[ ] Procurei Modify
[ ] Procurei ACEs Deny
[ ] Verifiquei IsInherited
[ ] Descobri de onde a regra foi herdada
[ ] Verifiquei “Aplica-se a”
[ ] Comparei arquivo novo e antigo
[ ] Comparei arquivo e subpasta
[ ] Registrei o proprietário
[ ] Comparei local e rede quando aplicável
[ ] Considerei permissões do compartilhamento
[ ] Não dei Full Control indiscriminadamente
[ ] Não usei takeown em massa
[ ] Não desativei herança por tentativa

Como corrigir a ACL sem destruir a herança: icacls, backup, grant, remove e reset

Nas duas primeiras partes, o objetivo foi descobrir por que o usuário consegue criar e modificar arquivos, mas não consegue excluí-los.

Agora podemos entrar na correção.

Mas existe uma regra fundamental:

Não corrija permissões NTFS em massa sem antes saber qual ACE está errada e qual nível de acesso o usuário realmente deveria possuir.

Permissões mal ajustadas podem gerar dois tipos de problema:

acesso de menos

ou:

acesso de mais

O segundo é tão ruim quanto o primeiro.

Por isso, vamos trabalhar com mudanças pequenas, registradas e reversíveis.


Antes de alterar: faça backup das ACLs

Se vamos mexer em uma árvore como:

D:\Empresa\Projetos

é prudente registrar o estado original.

Com icacls, podemos salvar as ACLs.

Exemplo:

icacls "D:\Empresa\Projetos" /save "C:\Temp\acl-projetos.txt" /t /c

Esse comando percorre a árvore e grava informações das ACLs em um arquivo.


O que significam /t e /c?

/t

faz o comando percorrer subpastas e arquivos.

/c

faz o processamento continuar mesmo quando algum objeto gera erro.

Use com atenção em árvores grandes.


Não faça alteração recursiva antes de testar em um arquivo

Antes de modificar:

100 mil arquivos

teste em:

1 arquivo
ou
1 pasta de laboratório

A sequência ideal é:

backup da ACL
↓
alteração pequena
↓
teste
↓
validação
↓
expansão do escopo

Determine qual acesso o usuário deveria ter

Pergunte:

deve apenas criar?
deve editar?
deve excluir?
deve alterar permissões?
deve administrar a pasta?

Esses níveis não são equivalentes.


Se o usuário precisa criar, editar e excluir arquivos

Em muitos cenários de pasta de dados, o conjunto:

Modify

pode ser mais coerente do que:

Full Control

porque Modify concede os direitos necessários para uso cotidiano sem necessariamente conceder administração completa da ACL.


Full Control concede mais do que excluir arquivos

Full Control pode incluir direitos relacionados a:

alterar permissões
assumir propriedade
controle amplo do objeto

Isso talvez seja desnecessário para um usuário comum.


Exemplo: conceder Modify

Suponha uma pasta:

D:\Dados

e um usuário:

PC\Victor

Um exemplo de concessão seria:

icacls "D:\Dados" /grant "PC\Victor:(M)"

Mas atenção: esse exemplo precisa ser adaptado ao contexto real.


E os objetos filhos?

Se o objetivo é definir propagação para arquivos e subpastas, podemos trabalhar com flags de herança.

Exemplo conceitual:

icacls "D:\Dados" /grant "PC\Victor:(OI)(CI)(M)"

Aqui:

OI
→ arquivos

CI
→ subpastas

M
→ Modify

Não copie esse comando para qualquer pasta

Antes, confirme:

usuário correto
pasta correta
escopo correto
herança desejada

Um erro no caminho pode alterar muito mais objetos do que pretendido.


Prefira grupos em ambientes multiusuário

Em uma empresa, pode ser melhor conceder direitos a:

GrupoFinanceiro

do que criar uma ACE separada para cada usuário.

Exemplo:

icacls "D:\Financeiro" /grant "EMPRESA\Financeiro:(OI)(CI)(M)"

Isso facilita administração futura.


Princípio importante: permissões para grupos, usuários dentro dos grupos

Uma estrutura organizada tende a ser mais fácil de manter:

pasta
↓
grupo recebe permissão
↓
usuários entram ou saem do grupo

em vez de:

pasta
├── usuário A
├── usuário B
├── usuário C
├── usuário D
└── usuário E

E se houver uma ACE Deny incorreta?

Primeiro identifique exatamente a entrada.

Não remova todas as negações.

Uma ACE Deny pode ter sido criada por motivo legítimo.


Liste a ACL antes

icacls "D:\Dados"

e:

(Get-Acl "D:\Dados").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Se a negação é explícita e comprovadamente errada

Pode ser necessário removê-la ou substituí-la por uma regra coerente.

Mas a forma exata depende de:

identidade
direito
escopo
herança

Por isso, não existe um único comando universal.


/remove remove entradas do principal

O icacls possui opções para remover entradas associadas a um usuário ou grupo.

Exemplo conceitual:

icacls "D:\Dados" /remove "PC\Victor"

Mas isso pode remover concessões úteis junto com a regra problemática.

Use somente quando você realmente quer remover as ACEs daquele principal e reconstruí-las.


Não use /remove como bisturi se você não analisou a ACL

Se o usuário possui:

uma ACE Allow importante
+
uma ACE Deny incorreta

remover todas as entradas pode alterar muito mais do que o pretendido.


PowerShell oferece controle mais granular

Quando precisamos editar uma ACL específica, PowerShell permite construir e remover regras de forma mais detalhada.

Mas o nível de complexidade aumenta.

Por isso, para administração cotidiana, icacls costuma ser excelente quando a mudança é simples e bem compreendida.


Herança: corrigir sem quebrar a arquitetura

Se uma pasta deveria seguir as permissões da pasta pai, mas está com uma configuração independente, talvez seja necessário revisar a herança.

Primeiro consulte:

icacls "D:\Empresa\Financeiro"

Não desative herança sem motivo

O icacls possui recursos relacionados à herança.

Mas alterar herança modifica a arquitetura de segurança da pasta.

Antes de fazer isso, responda:

a pasta deveria herdar?
há regras específicas justificadas?
qual pasta pai define a política correta?

Uma pasta pode precisar de exceção

Exemplo:

D:\Empresa

possui regras gerais.

Mas:

D:\Empresa\RH

pode precisar de acesso restrito.

Nesse caso, herança integral pode não ser a política desejada.


Não “normalize” RH para ficar igual à raiz

Isso poderia expor dados sensíveis.

A correção deve respeitar a finalidade da pasta.


/reset: poderoso e perigoso

icacls possui a opção:

/reset

Ela pode substituir ACLs por permissões herdadas padrão em determinados contextos.

Isso pode ser útil quando um conjunto de arquivos deveria simplesmente seguir a pasta pai e ficou com ACLs explícitas incorretas.

Mas também pode remover exceções legítimas.


Exemplo de cenário onde /reset pode fazer sentido

Imagine:

D:\Empresa\Publico

A política é simples:

todos os arquivos devem herdar a ACL da pasta

Mas alguns arquivos antigos possuem permissões explícitas quebradas.

Depois de confirmar a arquitetura e salvar as ACLs, um reset controlado pode ser considerado.


Não execute /reset em C:\Windows

Nem em:

C:\
C:\Program Files
C:\ProgramData

por tentativa.

Pastas do sistema possuem ACLs específicas e complexas.

Um reset indiscriminado pode quebrar aplicativos e o próprio Windows.


Teste /reset primeiro em um arquivo específico

Exemplo:

icacls "D:\Dados\arquivo-problema.txt" /reset

Depois:

icacls "D:\Dados\arquivo-problema.txt"

Compare com um arquivo criado normalmente na mesma pasta.


Se os dois ficam equivalentes e o problema some

Temos evidência de que a ACL explícita do arquivo antigo era parte da causa.

Agora podemos planejar uma correção maior, se necessário.


Não use /reset recursivo sem backup

Um comando como:

/t

pode alcançar uma árvore enorme.

Antes:

backup das ACLs
backup dos dados
teste em pequeno escopo

Como restaurar ACLs salvas

Se você salvou as ACLs com /save, o icacls também possui mecanismo de restauração.

Isso é útil caso a alteração produza resultado inesperado.

O princípio é:

save
↓
change
↓
test
↓
restore se necessário

Não dependa apenas da restauração

Ainda mantenha backup dos dados importantes.

ACL e conteúdo são coisas diferentes.


Corrigindo um arquivo com ACL diferente do restante

Suponha:

D:\Dados
├── normal1.txt
├── normal2.txt
└── problema.txt

normal1.txt e normal2.txt funcionam.

problema.txt não pode ser excluído.

Primeiro compare:

icacls "D:\Dados\normal1.txt"

e:

icacls "D:\Dados\problema.txt"

Se problema.txt possui ACL explícita desnecessária

Uma correção possível pode ser fazê-lo voltar a seguir a política esperada da pasta pai.

Mas confirme a herança antes.

Não copie permissões cegamente de um arquivo para outro sem entender o motivo.


Corrigindo uma pasta inteira com permissões quebradas

Suponha:

D:\Equipe\Projetos

Todos os usuários corretos deveriam:

ler
criar
modificar
excluir

Mas a árvore acumulou várias ACLs diferentes ao longo dos anos.

O trabalho deve ser planejado.


Etapa 1 — documente a política desejada

Exemplo:

Administrators → Full Control
SYSTEM → Full Control
GrupoProjetos → Modify
Outros usuários → sem acesso específico

Essa é apenas uma estrutura conceitual.

A política real depende da organização.


Etapa 2 — compare com o estado atual

Use:

icacls
Get-Acl

em uma amostra de arquivos e subpastas.


Etapa 3 — descubra onde a herança foi quebrada

Algumas subpastas podem ter:

IsInherited = False

em entradas que deveriam ser herdadas.


Etapa 4 — preserve exceções legítimas

Exemplo:

Projetos
├── Geral
├── Engenharia
└── Diretoria

Talvez Diretoria deva permanecer restrita.

Não aplique uma ACL uniforme à árvore inteira se existem áreas com políticas diferentes.


Etapa 5 — corrija por blocos

Faça primeiro:

Geral

teste.

Depois:

Engenharia

e assim por diante.


Evite mudar milhares de objetos em horário de produção

Em servidores, mudanças recursivas de ACL podem:

consumir I/O
levar tempo
afetar usuários
interagir com backup e antivírus

Planeje a janela.


Acesso negado mesmo depois de conceder Modify

Suponha que você concedeu:

Modify

e ainda não consegue excluir.

Não continue adicionando permissões aleatórias.

Volte ao diagnóstico.


Verifique se existe Deny aplicável

(Get-Acl "D:\Dados").Access |
Where-Object AccessControlType -eq "Deny"

Depois faça o mesmo no arquivo.


Verifique os grupos do token

whoami /groups

Talvez o usuário pertença a um grupo que recebe negação.


Faça logoff quando a alteração envolver grupos

Se você acabou de incluir ou remover um usuário de um grupo, o token da sessão atual pode não refletir imediatamente a mudança.

Pode ser necessário encerrar a sessão e entrar novamente.


Reiniciar o Explorer não substitui sempre um novo logon

As associações de grupo do token de segurança do usuário são estabelecidas no contexto da sessão.

Portanto, alterações de grupo merecem um novo teste com sessão atualizada.


Se a ACL parece correta, use acesso efetivo

Volte para:

Propriedades
→ Segurança
→ Avançadas
→ Acesso efetivo

e avalie o usuário ou grupo.

Procure especificamente direitos relacionados à exclusão.


Se acesso efetivo diz que pode excluir, mas falha

Agora devemos questionar a hipótese inicial.

Talvez o problema seja:

arquivo em uso
aplicativo
serviço
antivírus
sincronização
SMB
contexto do processo

Process Monitor pode provar onde ocorre ACCESS DENIED

Quando a mensagem aparece dentro de um aplicativo, ProcMon pode ajudar a verificar qual operação recebe:

ACCESS DENIED

Filtre pelo:

Process Name

e pelo caminho relevante.


Não trate todo ACCESS DENIED do ProcMon como problema

Aplicativos testam caminhos e direitos durante operação normal.

O evento relevante precisa estar diretamente ligado à ação que falhou.

Correlacione:

horário
processo
caminho
operação
resultado

Pasta compartilhada: corrija Share e NTFS separadamente

Se o problema só acontece por:

\\SERVIDOR\Dados

não mude NTFS imediatamente.

Primeiro compare o acesso local.


Se local funciona e rede falha

Investigue permissões do compartilhamento.

No Windows Server ou no computador que compartilha a pasta, confirme:

quem possui Read?
quem possui Change?
quem possui Full Control?

Regra prática em compartilhamentos

O acesso pela rede será limitado pela combinação das camadas aplicáveis.

Então:

Share muito permissivo
+
NTFS restritivo

continua restritivo.

E:

Share restritivo
+
NTFS permissivo

também continua restritivo.


Não resolva tudo com Share Full Control + Everyone

Uma arquitetura mais segura pode deixar o compartilhamento relativamente simples e controlar o detalhamento no NTFS, ou usar outra estratégia apropriada ao ambiente.

O importante é saber qual camada está impondo a restrição.


Arquivo criado por serviço

Imagine que um programa executado como:

SYSTEM

crie arquivos em:

D:\Importacao

Depois um usuário comum tenta apagá-los e não consegue.

Compare:

ACL do arquivo criado pelo serviço

com:

ACL de arquivo criado pelo usuário

O aplicativo pode estar criando ACL explícita

Nem todo arquivo simplesmente herda tudo de forma idêntica.

Programas podem definir segurança específica ao criar objetos.

Isso explica casos em que:

arquivos do programa → problema
arquivos manuais → funcionam

ProcMon ajuda nesse caso

Você pode acompanhar a criação do arquivo e verificar o processo responsável.

Depois compare a ACL resultante.


Arquivos restaurados de backup

Backups também podem restaurar informações de segurança dependendo da ferramenta e do método utilizado.

Se o problema começou depois de:

restauração
migração
troca de servidor

considere essa origem.


Não presuma que “copiar para outro SSD” preserva tudo igual

O comportamento depende:

método
sistema de arquivos
ferramenta
origem/destino

Por isso, valide as ACLs depois de migrações críticas.


Robocopy e permissões

Em migrações profissionais, robocopy possui opções que podem copiar diferentes informações de segurança.

Isso é poderoso e deve ser planejado.

Uma cópia de dados não é necessariamente equivalente a uma migração completa de ACLs.


Não use opções de segurança do Robocopy sem entender o destino

Você pode transportar para o novo ambiente regras que não fazem mais sentido.

Antes de migrar:

documente grupos
SIDs
domínio
ACLs
estrutura

SID desconhecido na ACL

Às vezes a interface mostra algo parecido com:

S-1-5-21-...

em vez de um nome amigável.

Isso pode ocorrer quando o Windows não consegue resolver o SID para uma conta atual.


Isso aparece muito em migrações e reinstalações

Exemplo:

conta antiga removida
↓
SID permanece na ACL

O fato de existir um SID órfão não significa automaticamente que ele causa o problema.

Mas merece análise.


Não remova SIDs desconhecidos em massa

Alguns podem representar identidades importantes ou contas de outro domínio ainda relevantes.

Confirme antes.


Pasta doméstica com ACL acidentalmente complicada

Em computadores pessoais, às vezes um usuário mexe em:

Segurança
→ Avançadas

e cria várias ACEs conflitantes.

Nesse cenário, pode fazer sentido reconstruir a ACL de uma pasta pessoal de dados.

Mas a reconstrução deve usar uma referência segura e conhecida.


Evite usar a raiz do perfil inteiro como laboratório

Não execute alterações recursivas em:

C:\Users\Usuario

sem entender implicações sobre:

AppData
perfil
configurações
aplicativos

Crie uma pasta limpa de comparação

Por exemplo:

C:\TestePermissoes

Crie um arquivo e consulte:

icacls "C:\TestePermissoes"
icacls "C:\TestePermissoes\teste.txt"

Compare com a pasta problemática.


Correção mínima é melhor que correção máxima

Se a única diferença necessária é:

usuário precisa de Modify

não conceda:

Full Control

sem necessidade.


Princípio do menor privilégio

O usuário deve receber os direitos necessários para sua função e nada além disso.

Esse princípio ajuda a evitar:

exclusões acidentais
mudança indevida de ACL
acesso a dados não autorizados

Exemplo de pasta de entrega

Lembre daquele cenário:

usuários podem enviar arquivos
mas não apagá-los

Nesse caso, o comportamento:

cria → sim
apaga → não

pode estar correto.

Não “conserte” uma política intencional.


Pergunte ao responsável pela pasta

Antes de mudar permissões em ambiente empresarial:

quem deve ler?
quem deve criar?
quem deve editar?
quem deve excluir?
quem deve administrar?

Sem isso, não existe “ACL correta”.


Teste depois de cada alteração

Após ajustar a regra:

1. crie arquivo
2. edite
3. renomeie
4. exclua
5. crie subpasta
6. exclua subpasta

Não valide somente a operação que estava falhando.


Você pode corrigir a exclusão e quebrar outra coisa

Por exemplo:

exclusão → passou
leitura → falhou

Por isso, o teste deve abranger as operações esperadas.


Teste também outro usuário

Se uma pasta é compartilhada por uma equipe, confirme que a mudança não prejudicou quem já funcionava.


Valide a herança em um novo arquivo

Crie um arquivo depois da alteração.

Depois:

icacls "D:\Dados\novo-depois-da-correcao.txt"

Isso mostra se novos objetos estão recebendo a política esperada.


Isso é melhor do que validar só arquivos antigos

Arquivos antigos podem manter ACLs explícitas.

O novo arquivo mostra como a estrutura está funcionando agora.


Procedimento prático de correção

Use esta sequência:

1. confirme o sintoma
2. confirme NTFS
3. identifique usuário
4. liste grupos
5. consulte ACL da pasta
6. consulte ACL do arquivo
7. verifique Deny
8. verifique herança
9. identifique a regra errada
10. documente política desejada
11. salve ACLs
12. teste correção em pequeno escopo
13. valide criar/editar/renomear/excluir
14. valide novo arquivo
15. valide outros usuários
16. somente então expanda a mudança

Exemplo completo

Sintoma:

D:\Equipe
criar → OK
editar → OK
excluir → Acesso negado

Diagnóstico:

whoami /groups
↓
usuário pertence a GrupoEquipe

ACL:

GrupoEquipe → Write

Política desejada:

GrupoEquipe deve criar, editar e excluir

Conclusão:

Write é insuficiente para a política desejada

Correção planejada:

conceder conjunto Modify com propagação apropriada

Teste:

criar → OK
editar → OK
renomear → OK
excluir → OK

Agora existe uma cadeia lógica entre causa e correção.


Outro exemplo: Deny herdado

Sintoma:

usuário possui Modify
mas não consegue excluir

Diagnóstico:

grupo restrito
→ Deny específico herdado

Agora não adianta adicionar mais cinco ACEs Allow.

Primeiro precisamos entender se aquela negação:

é intencional
ou
é configuração incorreta

Outro exemplo: ACL explícita em arquivo antigo

Sintoma:

arquivos novos → OK
arquivos antigos → Acesso negado

Diagnóstico:

antigos possuem ACEs explícitas
novos herdam da pasta

Agora a correção pode envolver a normalização apenas do conjunto antigo, preservando a política da pasta.


O que não fazer

Não execute:

takeown /f C:\ /r

Não aplique:

Everyone → Full Control

Não resete:

C:\Windows
C:\Program Files
C:\

Não desative herança de uma árvore inteira “para testar”.

Não remova todas as ACEs Deny.

Não aplique /reset /t sem backup e escopo definido.


Checklist da Parte 3

[ ] Defini o acesso que o usuário realmente precisa
[ ] Salvei as ACLs antes de alterar
[ ] Fiz teste em pequeno escopo
[ ] Preferi Modify quando Full Control não era necessário
[ ] Usei grupos quando apropriado
[ ] Analisei Deny antes de remover
[ ] Não removi ACEs indiscriminadamente
[ ] Entendi a herança antes de alterá-la
[ ] Não usei /reset em pastas do sistema
[ ] Testei /reset apenas quando havia motivo
[ ] Validei arquivo novo depois da correção
[ ] Testei criar, editar, renomear e excluir
[ ] Testei subpastas
[ ] Testei outros usuários
[ ] Comparei acesso local e via rede
[ ] Não usei Everyone: Full Control
[ ] Não usei takeown em massa
[ ] Mantive o princípio do menor privilégio

Agora vamos transformar tudo o que vimos em um procedimento objetivo.

A ideia é sair de:

“Não consigo apagar o arquivo.”

para algo muito mais preciso:

“Este usuário recebe uma negação de Delete herdada da pasta pai.”

ou:

“O usuário possui Write, mas não possui Modify nem direito equivalente para a exclusão esperada.”

ou:

“A ACL está correta; o problema não é NTFS e precisa ser investigado em outra camada.”

Esse é o objetivo de um bom diagnóstico.


Procedimento definitivo em 30 etapas

1. Registre o caminho exato

Não trabalhe apenas com:

“uma pasta de documentos”

Anote:

D:\Empresa\Financeiro\Relatorios

e o arquivo específico que apresenta o problema.


2. Confirme o sistema de arquivos

Execute:

Get-Volume |
Format-Table DriveLetter, FileSystem, FileSystemLabel -AutoSize

Confirme que o volume utiliza NTFS.


3. Reproduza a falha

Tente excluir o arquivo e registre exatamente o que acontece.

Exemplo:

Acesso negado

é diferente de:

arquivo em uso

4. Teste a abertura

Confirme se o arquivo pode ser aberto normalmente.


5. Teste a modificação

Edite o conteúdo e salve.


6. Teste a criação

Crie outro arquivo na mesma pasta.

Por exemplo:

teste-novo.txt

7. Teste a exclusão do arquivo novo

Esse resultado é extremamente útil.

Se:

novo → exclui
antigo → não

as ACLs dos objetos merecem comparação direta.


8. Teste a renomeação

Renomeie:

teste.txt

para:

teste2.txt

Registre o resultado.


9. Teste uma subpasta

Crie:

TestePasta

e tente excluí-la.

Isso ajuda a identificar diferenças entre direitos aplicados a arquivos e diretórios.


10. Descubra a identidade atual

Execute:

whoami

11. Liste os grupos

whoami /groups

Não analise apenas a ACE que contém diretamente o nome do usuário.


12. Consulte a ACL da pasta

icacls "D:\Empresa\Financeiro\Relatorios"

13. Consulte a ACL do arquivo

icacls "D:\Empresa\Financeiro\Relatorios\arquivo.txt"

14. Consulte com PowerShell

(Get-Acl "D:\Empresa\Financeiro\Relatorios").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

Depois:

(Get-Acl "D:\Empresa\Financeiro\Relatorios\arquivo.txt").Access |
Format-Table IdentityReference, FileSystemRights, AccessControlType, IsInherited -AutoSize

15. Procure Modify

Se o usuário deveria:

criar
editar
renomear
excluir

verifique se ele realmente recebe o conjunto de direitos compatível com essa função.


16. Procure Delete

Observe direitos específicos relacionados à exclusão.


17. Procure DeleteSubdirectoriesAndFiles

Analise também os direitos relacionados à exclusão de objetos filhos na pasta pai.


18. Procure ACEs Deny

Com PowerShell:

(Get-Acl "D:\Empresa\Financeiro\Relatorios").Access |
Where-Object AccessControlType -eq "Deny"

Faça o mesmo no arquivo.


19. Verifique se a negação atinge algum grupo do usuário

Compare com:

whoami /groups

20. Verifique a herança

Observe:

IsInherited

ou a coluna:

Herdado de

na interface avançada.


21. Descubra a origem da ACE

Se a entrada problemática veio de:

D:\Empresa

não trate apenas:

arquivo.txt

como se ele fosse a origem.


22. Verifique “Aplica-se a”

Uma regra pode atingir:

esta pasta
subpastas
arquivos

de maneiras diferentes.


23. Verifique o proprietário

(Get-Acl "D:\Empresa\Financeiro\Relatorios\arquivo.txt").Owner

Use essa informação como contexto, não como diagnóstico automático.


24. Compare arquivo novo e antigo

icacls "D:\Empresa\Financeiro\Relatorios\novo.txt"

versus:

icacls "D:\Empresa\Financeiro\Relatorios\antigo.txt"

25. Compare local e rede

Se a pasta é compartilhada, teste:

D:\Empresa\Financeiro

e:

\\SERVIDOR\Financeiro

26. Se só falha pela rede, analise o compartilhamento

Não mude NTFS sem confirmar a outra camada.


27. Salve as ACLs antes da correção

Exemplo:

icacls "D:\Empresa\Financeiro" /save "C:\Temp\acl-financeiro.txt" /t /c

28. Corrija o menor escopo possível

Não altere uma unidade inteira se o problema envolve:

uma pasta

ou:

alguns arquivos

29. Teste novamente

Valide:

criar
editar
renomear
excluir
criar subpasta
excluir subpasta

30. Valide outro usuário

Garanta que a correção não quebrou o acesso de quem já funcionava.


Árvore de decisão

Podemos resumir o diagnóstico assim:

Não consigo excluir
        |
        v
A mensagem indica arquivo em uso?
     /      \
   SIM      NÃO
   |         |
Investigue   v
handles      O volume é NTFS?
             /      \
           NÃO      SIM
           |         |
Outro       v
modelo     Consigo criar arquivo?
            /       \
          NÃO       SIM
          |          |
Permissão   v
mais ampla Consigo editar?
             /      \
           NÃO      SIM
           |         |
Analise     v
Write      Consigo excluir arquivo novo?
            /       \
          SIM       NÃO
          |          |
Compare     v
ACL antiga Analise pasta pai,
           Delete, Deny e herança

Depois:

ACL parece correta
        |
        v
Falha apenas pela rede?
     /         \
   SIM         NÃO
   |            |
Share/SMB      v
               Explorer apaga e programa não?
                    /        \
                  SIM        NÃO
                  |           |
             contexto do      v
             processo      ProcMon / outra camada

Caso prático 1 — usuário possui Write, mas não Modify

Sintoma:

cria arquivo → OK
edita → OK
exclui → Acesso negado

ACL:

Equipe → Write

Política desejada:

Equipe deveria administrar seus próprios arquivos

Nesse cenário, o conjunto concedido pode ser insuficiente para a finalidade pretendida.


Caso prático 2 — Deny herdado

Usuário possui:

Modify

mas ainda não consegue excluir.

A investigação encontra:

GrupoProtegido → Deny Delete

e o usuário pertence a esse grupo.

Agora existe uma explicação específica.

Não é necessário:

reinstalar Windows
resetar NTFS inteiro
dar Full Control para Everyone

Caso prático 3 — arquivo copiado funciona, arquivo movido não

Dois arquivos estão na mesma pasta.

Um apresenta a ACL esperada.

Outro mantém regras diferentes.

A pergunta importante é:

como cada objeto chegou ao destino?

Mover, copiar, restaurar e migrar podem produzir históricos de segurança diferentes.


Caso prático 4 — problema após restauração de backup

A empresa restaura documentos de um servidor antigo.

Depois:

usuários abrem
usuários editam
mas não apagam determinados arquivos

Compare:

ACL dos arquivos restaurados

com:

ACL dos novos arquivos

A diferença pode estar na segurança preservada durante a restauração.


Caso prático 5 — problema após troca de domínio

ACL mostra:

S-1-5-21-...

em vez do nome de determinado usuário ou grupo.

Isso pode ser um SID da estrutura antiga.

Não remova automaticamente.

Primeiro determine se aquela entrada ainda é necessária e qual deveria ser a política no novo ambiente.


Caso prático 6 — funciona no servidor, falha no computador cliente

Localmente:

D:\Compartilhamento\arquivo.txt
→ exclui

Pela rede:

\\SERVIDOR\Compartilhamento\arquivo.txt
→ falha

Agora a suspeita principal deixa de ser apenas NTFS.

Investigue permissões SMB/share.


Caso prático 7 — Explorer apaga, programa não

Você consegue excluir manualmente.

Mas determinado software retorna:

Access Denied

Verifique:

qual processo faz a operação?
qual conta executa o processo?
qual caminho ele está usando?

ProcMon pode ajudar a observar a chamada que falha.


Caso prático 8 — apenas arquivos criados por um serviço falham

Arquivos manuais:

apagam normalmente

Arquivos gerados pelo aplicativo:

Acesso negado

Compare as ACLs.

O serviço pode criar objetos sob outro contexto ou definir segurança específica.


Caso prático 9 — somente uma subpasta apresenta problema

Estrutura:

D:\Empresa
├── Publico
├── Projetos
└── Financeiro

Financeiro apresenta o erro.

Não faça reset na raiz.

Investigue a herança e ACEs específicas apenas de Financeiro.


Caso prático 10 — tudo começou depois que alguém “arrumou” permissões

Usuários relatam:

antes funcionava
depois alguém mexeu em Segurança

Primeiro procure:

herança desativada
ACEs explícitas
Deny
usuários individuais
SIDs órfãos

Não acrescente mais alterações antes de entender o que foi modificado.


Caso prático 11 — arquivos podem ser criados, mas nunca removidos

Em certos ambientes isso pode ser deliberado.

Exemplo:

pasta de recebimento

A política pode permitir:

depositar documentos

sem permitir:

apagar documentos enviados

Portanto, o comportamento não é necessariamente defeito.


Caso prático 12 — administrador também recebe Acesso negado

Ser administrador não significa que o processo automaticamente ignora ACLs NTFS.

Analise:

token
elevação
proprietário
ACL

antes de assumir que o sistema está corrompido.


Quando usar icacls /grant?

Quando você já sabe:

qual principal deve receber acesso
qual conjunto de direitos
qual escopo

Exemplo conceitual:

icacls "D:\Projetos" /grant "EMPRESA\GrupoProjetos:(OI)(CI)(M)"

Use apenas após validar que Modify é realmente a política desejada.


Quando evitar Full Control?

Na maioria dos casos em que o usuário precisa apenas:

ler
criar
editar
renomear
excluir

ele talvez não precise administrar a ACL.

Por isso:

Modify

pode ser suficiente.


Quando usar /reset?

Apenas quando você verificou que determinado objeto deveria voltar a herdar a política padrão da pasta e suas ACLs explícitas estão incorretas ou desnecessárias.

Teste antes em um objeto.


Quando não usar /reset?

Evite em:

C:\
C:\Windows
C:\Program Files
C:\ProgramData

e outras áreas sensíveis do sistema sem uma razão técnica muito específica.


Quando usar takeown?

takeown pode ser útil em cenários administrativos específicos envolvendo propriedade.

Mas não é a primeira resposta para:

não consigo excluir

Primeiro descubra se o problema realmente envolve propriedade.


Quando o Process Monitor entra?

Quando a ACL parece correta, mas um aplicativo específico ainda recebe:

ACCESS DENIED

ProcMon pode revelar:

processo
operação
caminho
resultado

e ajudar a diferenciar permissão, caminho incorreto e outros comportamentos.


Quando o problema provavelmente não é ACL?

Se a mensagem diz:

arquivo está sendo usado por outro processo

investigue handles.

Se a falha aparece apenas em um aplicativo, compare o contexto do processo.

Se só acontece pela rede, inclua SMB/share.

Se o volume não é NTFS, o modelo muda.

Se o arquivo reaparece depois de excluído, investigue sincronização ou processo recriando o objeto.


FAQ — Perguntas frequentes

1. Se consigo criar um arquivo, tenho permissão para apagá-lo?

Não necessariamente. Criar, gravar e excluir envolvem direitos distintos no modelo NTFS.


2. Write é igual a Modify?

Não. Modify é um conjunto mais amplo e normalmente inclui direitos necessários para alterações adicionais, inclusive exclusão.


3. Full Control é necessário para apagar arquivos?

Não. Em muitos cenários, Modify oferece o conjunto de direitos adequado sem conceder administração completa das permissões.


4. Por que um arquivo novo pode ser apagado e um antigo não?

Os objetos podem possuir ACLs diferentes, regras explícitas distintas ou terem sido criados, movidos ou restaurados de maneiras diferentes.


5. Arquivos da mesma pasta sempre possuem as mesmas permissões?

Não. Um arquivo pode possuir ACEs explícitas diferentes daquelas dos outros arquivos.


6. O que significa ACL?

Access Control List, ou Lista de Controle de Acesso.

Ela contém regras que controlam o acesso ao objeto.


7. O que significa ACE?

Access Control Entry.

É cada entrada individual existente dentro de uma ACL.


8. O que é uma permissão herdada?

É uma regra recebida de uma pasta superior da árvore.


9. O que significa IsInherited?

Indica se aquela ACE veio por herança.


10. O que significa Allow?

Uma ACE configurada para conceder determinado direito.


11. O que significa Deny?

Uma ACE configurada para negar determinado direito.


12. Deny sempre vence Allow?

Essa frase é uma simplificação. A avaliação real considera o direito solicitado, as ACEs aplicáveis, a ordem da ACL, identidades e herança.


13. Como descubro os grupos do meu usuário?

Use:

whoami /groups

14. Por que analisar os grupos?

Porque uma permissão pode estar aplicada a um grupo ao qual seu usuário pertence.


15. Como vejo as permissões de uma pasta pelo CMD?

Use:

icacls "C:\Caminho"

16. Como vejo as permissões pelo PowerShell?

Use:

Get-Acl "C:\Caminho"

17. Como vejo as entradas detalhadas?

Use:

(Get-Acl "C:\Caminho").Access

18. Como encontro ACEs Deny?

(Get-Acl "C:\Caminho").Access |
Where-Object AccessControlType -eq "Deny"

19. Posso usar Everyone Full Control para testar?

Não é uma boa prática. Isso altera demais a segurança e pode mascarar a regra específica que causava o problema.


20. Administrador pode apagar qualquer arquivo?

Não automaticamente. ACL, propriedade, token e outros mecanismos continuam relevantes.


21. Ser proprietário significa possuir Full Control?

Não. Propriedade e direitos de acesso são conceitos diferentes.


22. Devo usar takeown quando recebo Acesso negado?

Não como primeira tentativa. Primeiro determine se propriedade realmente participa do problema.


23. Devo assumir propriedade de C:\Windows?

Não por tentativa. Isso pode alterar a segurança de arquivos importantes do sistema.


24. TrustedInstaller causa o problema?

Não necessariamente. TrustedInstaller é parte da arquitetura de proteção e manutenção do Windows.


25. Posso resetar todas as ACLs do Windows?

Não é uma boa estratégia de diagnóstico e pode causar problemas graves.


26. O que faz icacls /reset?

Ele pode fazer objetos voltarem a permissões herdadas padrão em cenários apropriados, removendo determinadas configurações explícitas.

Use com cautela.


27. O que faz icacls /grant?

Concede direitos ao usuário ou grupo indicado.


28. O que significam OI e CI?

De forma geral:

OI → herança para objetos/arquivos
CI → herança para contêineres/subpastas

29. O que significa (I) no icacls?

Indica uma entrada herdada.


30. Como descobrir quem é o proprietário?

PowerShell:

(Get-Acl "C:\Caminho").Owner

31. Posso salvar as ACLs antes de alterar?

Sim. icacls /save pode ser usado para registrar ACLs de uma árvore.


32. Por que fazer backup das ACLs?

Porque permite documentar o estado original e facilita a recuperação se uma mudança causar efeito inesperado.


33. Backup da ACL substitui backup dos arquivos?

Não. São coisas diferentes.


34. O problema pode existir apenas pela rede?

Sim. Nesse caso, permissões do compartilhamento SMB também precisam ser analisadas.


35. NTFS Full Control garante Full Control pela rede?

Não necessariamente. A permissão do compartilhamento também pode limitar a operação.


36. Se funciona localmente e falha pela rede, o que devo investigar?

Além do NTFS, verifique as permissões do compartilhamento e o contexto de autenticação usado na conexão.


37. O mesmo vale para NAS?

Não necessariamente. Muitos NAS utilizam modelos próprios ou sistemas de arquivos diferentes. Não aplique procedimentos NTFS automaticamente.


38. FAT32 possui as mesmas ACLs do NTFS?

Não. O modelo descrito neste artigo é específico do NTFS.


39. exFAT funciona igual ao NTFS nas permissões?

Não.


40. Como confirmo o sistema de arquivos?

Use:

Get-Volume

41. Um programa pode criar arquivos com permissões diferentes?

Sim. Dependendo de como cria o objeto e do contexto de segurança utilizado.


42. Um serviço pode criar arquivos que o usuário não consegue apagar?

Sim. Compare ACL, proprietário e contexto em que os arquivos são criados.


43. Copiar e mover arquivos sempre produzem a mesma ACL?

Não necessariamente.


44. Arquivos restaurados de backup podem voltar com permissões antigas?

Dependendo da ferramenta e da forma de restauração, informações de segurança podem ser preservadas.


45. O que é um SID órfão?

É uma referência de segurança que o sistema não consegue mais resolver para um nome atual de usuário ou grupo.


46. Posso apagar todo SID desconhecido?

Não. Primeiro descubra sua origem e relevância.


47. Preciso reiniciar o computador depois de mudar permissões?

Normalmente não para alterações simples de ACL. Porém, mudanças de associação a grupos podem exigir novo logon para que o token da sessão reflita a nova configuração.


48. Reiniciar o Explorer atualiza os grupos?

Não substitui necessariamente um novo logon.


49. Posso usar ProcMon para diagnosticar Acesso negado?

Sim, especialmente quando um aplicativo específico falha e você precisa observar a operação que recebe ACCESS DENIED.


50. Todo ACCESS DENIED do ProcMon é problema?

Não. Aplicativos fazem várias tentativas normais durante sua execução. Correlacione com o momento e a operação que realmente falhou.


Diagnóstico rápido para técnicos

Se você quiser uma sequência curta, use:

1. Get-Volume
2. whoami
3. whoami /groups
4. icacls pasta
5. icacls arquivo
6. Get-Acl pasta
7. Get-Acl arquivo
8. localizar Deny
9. localizar Delete
10. localizar DeleteSubdirectoriesAndFiles
11. verificar herança
12. comparar arquivo novo
13. comparar local/rede
14. salvar ACL
15. corrigir o menor escopo
16. testar novamente

O diagnóstico correto evita correções destrutivas

Quando o Windows mostra Acesso negado, é tentador procurar um comando que force a operação.

Mas comandos de força não explicam a causa.

Há uma enorme diferença entre:

conseguir apagar o arquivo

e:

entender por que o usuário não podia apagá-lo

Para manutenção técnica, o segundo é muito mais valioso.


Conclusão

Conseguir criar e editar um arquivo, mas não conseguir excluí-lo no Windows 11, não é necessariamente uma contradição nem um defeito do NTFS.

O sistema separa diferentes direitos e avalia o acesso considerando:

usuário
grupos
ACL
ACEs
Allow
Deny
herança
arquivo
pasta pai
escopo
contexto do processo

Por isso, o caminho correto não é começar por:

Everyone → Full Control

nem por:

takeown em tudo

O procedimento correto é identificar exatamente qual operação falha, qual identidade está executando a ação e qual regra está produzindo o resultado.

Ferramentas nativas como:

whoami
icacls
Get-Acl
Get-Volume

já permitem chegar muito longe.

Quando necessário, o Process Monitor pode complementar a análise mostrando qual processo recebeu ACCESS DENIED e em qual operação.

O princípio final é simples:

Permissão NTFS não deve ser corrigida aumentando o acesso até o erro desaparecer. Deve ser corrigida encontrando a regra errada e concedendo somente o acesso necessário.

Essa abordagem resolve o problema sem transformar uma simples falha de exclusão em um risco de segurança.

Precisa de ajuda para corrigir permissões e problemas de arquivos no Windows?

A VMIA realiza diagnóstico e configuração de computadores Windows, permissões NTFS, compartilhamento de arquivos, problemas de acesso, redes, impressoras e falhas de sistema.

O atendimento pode ser realizado por acesso remoto ou visita técnica, conforme o problema e mediante agendamento.

VMIA – Manutenção e Configuração
Telefone e WhatsApp: (11) 99779-7772
Vila Mariana – São Paulo – SP

Também realizamos diagnóstico de Windows 11, redes domésticas, impressoras Wi-Fi, computadores lentos, falhas de armazenamento, compartilhamentos e outros problemas técnicos.

Seja o primeiro a comentar

Faça um comentário

Seu e-mail não será publicado.


*