O Windows está dizendo que o acesso foi negado aos arquivos que possuo

4

Então, recentemente, o Windows decidiu fazer algumas trolls em mim e tornar impossível comprometer o meu repositório git

Isso me dá esse erro no git (no Cygwin):

$ git commit -a
error: insufficient permission for adding an object to repository database .git/objects

error: NVG510Fixer/NVG510Fixer/Resources/layout/WarningConfirmation.axml: failed to insert into database
error: unable to index file NVG510Fixer/NVG510Fixer/Resources/layout/WarningConfirmation.axml
fatal: updating files failed

Bem ... mas então eu vou para a pasta NVG510Fixer e recursivamente tomo posse de tudo lá e garanto que Todos tenha controle total. Isso parece funcionar, mas não faz com que o erro desapareça ... Então, decido ir para .git e clicar com o botão direito do mouse em propriedades e assumir a propriedade (recursivamente) de lá. Nesse ponto, fica ainda mais estranho:

Que diabos o Windows está fazendo ?! Eu sou um administrador. Este computador não está associado a um domínio. Como não consigo acessar arquivos que eu consegui acessar há alguns minutos atrás?

    
por Earlz 08.08.2013 / 06:01

3 respostas

5

Use o comando takeown a partir de uma linha de comando administrativa. É possível remover as permissões Full Access para o grupo Administradores, se isso acontecer, a versão da GUI não poderá alterar as permissões, mas o comando da linha de comando ainda poderá fazê-lo.

takeown /f C:\dev\nvg510controls\.git /r /d Y

Se você quiser ser mais extravagante, pode definir as permissões por meio da linha de comando também

icacls C:\dev\nvg510controls\.git /t /grant Everyone:(F)

Se nenhum desses comandos funcionar, faça download do PsExec e faça o comando

psexec -i -s icacls C:\dev\nvg510controls\.git /t /grant Everyone:(F) 

que executará icacls como o usuário SYSTEM em vez do usuário Administrador.

    
por 08.08.2013 / 06:52
1

Eu não sei se isso vai ajudar ninguém, mas vou observar aqui que acabei de ter um problema com o Git não ter permissão para acessar arquivos e tentei a resposta acima sem sucesso.

O problema é que, em um servidor relativamente novo, um verificador de vírus corporativo viu muita atividade no diretório .git do processo do Git, marcou o Git como um processo suspeito e parou de permitir que ele acessasse quaisquer arquivos. .

    
por 29.09.2017 / 10:27
0

Tente alterar o proprietário de volta para outra pessoa e voltar a si mesmo de forma recursiva. Isso geralmente faz o truque para mim. Eu acho que isso pode ser porque você não tem acesso às subpastas e arquivos, mas apenas a pasta .git. Altere o proprietário e selecione todas as subpastas. Em seguida, altere as permissões com a mesma opção de árvore ativada veja se funciona

    
por 08.08.2013 / 06:44