Ocasionalmente, observamos permissões danificadas em pastas com o erro: No permissions have been assigned for this object
Os sistemas afetados são principalmente o Windows 7, mas também o Terminal Server 2008 e posterior, não afetado é o Server 2003 Terminal Server.
Problemas
Problemas surgem quando uma subpasta é criada. Como a subpasta não herda nenhuma permissão, ela obtém apenas as permissões padrão (proprietário etc.)
Já concluído
Comparamos os sistemas afetados, mas eles não apresentam correspondências significativas no software ou nos drivers instalados.
Atualmente, procuramos um método para detectar essas falhas antes que nosso software seja executado com erro. Ferramentas como o AccessEnum não o revelam. Chksk não encontra nenhum erro.
Mas o mais importante é a pergunta: qual é a causa disso?
Alguém tem experiência com isso?
Edit:
Principalmente a pasta Temp local (C: \ Users \ [usuário] \ AppData \ Local \ Temp) em si é afetado pelo erro. Pelo menos nosso software obtém os erros lá. Mas eu sei que outras pastas também podem ser afetadas.
Vimos o erro em cerca de 40 sistemas de clientes e, uma vez corrigido, parece não voltar mais.
A correção é bastante fácil. Adicione controle total do sistema (ou qualquer outra coisa) às permissões e as permissões antigas reaparecerão novamente.
Edit2
Como o problema se parece exatamente:
- As permissões na pasta temporária estão corrompidas (como mostrado na captura de tela)
- Nesse estado, todos podem fazer qualquer coisa na pasta (excluir, criar etc.)
- Nosso instalador é executado elevado e cria uma subpasta
.\temp\ProgramInfos
. Isso funciona (veja acima). - Como a pasta temp não possui permissões ativas, a
ProgramInfos
pasta não herda nada. Então,ProgramInfos
obtém apenas os direitos paraAdministrators, System
- O aplicativo instalado posteriormente está sendo executado não elevado
- O usuário não elevado não pode acessar a pasta - no estado não elevado, ele não é administrador.
Não é um erro geral. Estamos instalados em dez milhares de computadores e até hoje apenas 40 tiveram esse erro.
(Na falta de um sistema em inglês com esse erro, o screnshot não mostra uma mensagem autêntica, mas em alemão é a mesma coisa)