Como faço para impedir que o cygwin crie arquivos undeletable? Ou posso deletá-los de alguma forma?

2

De vez em quando, o cygwin parece criar arquivos que não parecem ser removíveis. Ao deletar do cygwin isso simplesmente não acontece ( rm não diz nada, mas o arquivo ainda está lá). Ao tentar do explorador ele diz que eu preciso de permissões do administrador (e eu sou o administrador, o item delete no menu drop-down tem um escudo e eu acho que isso significa que eu tento isso com privilégios de administrador). Ao tentar a partir do comando total, primeiro recebo um erro e me perguntam se não quero tentar novamente como administrador e, ainda assim, parece que não tenho permissão para excluir o arquivo.

Eu recebo o mesmo problema se eu tentar visualizar o arquivo. Problemas ao tentar visualizar as propriedades de segurança - preciso pressionar um botão de escudo para me tornar administrador e sou informado de que não tenho permissão para visualizá-lo, a menos que assuma a propriedade (o que não posso fazer).

Usando o shell cygwin, tenho permissão para visualizar, mas não modificar a ACL (mesmo se o shell estiver sendo executado como administrador):

$ getfacl makefile.wine
# file: makefile.wine
# owner: Unknown+User
# group: Unknown+Group
user::rw-
group::r--
other:---
$ setfacl -b makefile.wine
setfacl: Permission denied

No entanto, quando reiniciou o Windows, não houve problemas em apenas remover os arquivos.

Por que / como o cygwin cria esses arquivos (descobri que um foi criado ao executar sed -i )? Como posso evitar isso? E finalmente há alguma maneira sensata de excluir o arquivo?

    
por skyking 13.05.2016 / 15:21

3 respostas

1

O cygwin não deve criar arquivos undeletable, pelo menos não mais. Supondo que você tenha uma instalação atualizada (cygwin 2.5.1): verifique as ACLs do arquivo com: getfacl "filename" você pode limpar a permissão da ACL com: setfacl -b "filename" Veja os manuais de getfacl e setfacl para detalhes. Leitura adicional link

Como você tem de getfacl

proprietário: desconhecido + usuário

group: Desconhecido + Grupo

Isso significa que o cygwin não reconhece o proprietário. Duas possibilidades:

1) o proprietário não é mais válido na máquina windows

2) você está usando algum tipo de conexão VPN ou Domínio e o usuário do banco de dados do Windows não está acessível em condições específicas.

Como administrador do windows, você poderá alterar o proprietário, também do cygwin.

    
por 14.05.2016 / 07:09
0

Por favor, tente com o comando takeown . Em um shell CMD de privilégio de administrador, emita o seguinte comando,

takeown /F makefile.wine

e veja agora se você pode removê-lo,

rm makefile.wine

Atualização: Obrigado por relatar e essa foi a minha supervisão. Após o comando takeown , você pode clicar com o botão direito do mouse sobre o arquivo no explorer para ver sobre as informações de propriedade e fazer ajustes a partir dali?

    
por 16.05.2016 / 07:56
0

Eu finalmente resolvi isso, use o Process Explorer (por padrão nas versões recentes do Windows ) procure nas alças por qualquer processo usando esse nome de arquivo e mate o processo.

Eu detalhei tudo sobre isso em meu blog .

Não tente restaurar as permissões, isso não funcionará.

    
por 06.06.2017 / 16:39