Espero que alguém possa responder isso de uma vez por todas, isso está me deixando louco há meses.
- Plataforma: Servidor Windows, qualquer versão. Este problema não acontece em umposto de trabalho.
- Problema:
Em uma pasta, sempre que eu crio arquivos enquanto estouAdministrador(no prompt de comando ou em uma execução em lote "Como administrador", o usuário ao qual estou conectado não pode editar os arquivos criados. O conjunto de permissões está faltando no meu usuário com "Permissões especiais" (seja lá o que isso signifique), enquanto isso não acontece acontecer em uma estação de trabalho Por quê?
Experimentei vários sabores de ICACLS, entre eles aquele que volta o tempo todo nos resultados de pesquisa: ICACLS folder /reset /C /L /T
e não adianta: meu usuário ainda não consegue editar os arquivos a menos que esteja no conjunto de permissões.
O único desvio que encontrei foi forçar a concessão de acesso total ao meu usuário, assim:icacls folder /grant %USERNAME%@%USERDNSDOMAIN%:F /T /C /Q
O problema é que o conjunto de permissões para arquivos ainda não corresponde ao que deveriam ser:
- faltando PROPRIETÁRIO CRIADOR
- COMPUTERNAME\Usuários sem herança ("Permissões Especiais")
Há algo que estou fazendo de errado?
Qual é a melhor prática ao executar lotes como administrador, quando você deseja que os arquivos criados tenham as mesmas permissões como se você não estivesse executando o lote como administrador? É possível realmente redefinir as permissões como deveriam ser, sem escrever um lote com várias condições?
Responder1
Não acho que você esteja fazendo nada de errado e que o sistema esteja funcionando conforme projetado. Ao executar um script com uma conta elevada em uma sessão sem privilégios, você cria o arquivo como administrador. Pelo que entendi, os membros do grupo de administradores terão permissão total, não a conta de usuário logada. As permissões do usuário deverão ser adicionadas ao arquivo exatamente como você o está ignorando. Você também pode usar takeown %USERNAME% em seu script para alterar o proprietário do arquivo. Acredito que você precisará adicionar as condições aos seus arquivos em lote.
Responder2
não há solução, apenas uma solução alternativa: force a aplicação de permissões concedendo acesso total ao usuário de sua escolha:
icacls folder /grant %USERNAME%@%USERDNSDOMAIN%:F /T /C /Q