Exclui um diretório de minha propriedade, contendo arquivos que não são de minha propriedade

0

Eu tenho um diretório em minha pasta pessoal contendo alguma saída de compilação, que o processo de compilação gera para outro usuário (por razões desconhecidas para mim). Eu quero apagar o diretório, mas não consigo porque não está vazio, e Não consigo excluir os arquivos contidos porque eles não são de minha propriedade. Naturalmente, eu poderia recursivamente chown todos os arquivos, mas recebendo todos os arquivos ocultos é uma dor . Existe uma maneira direta?

    
por Brent 22.06.2017 / 22:27

2 respostas

2

Se você tiver acesso de gravação ao diretório, poderá remover os arquivos, independentemente dos proprietários dos arquivos. O bit pegajoso no diretório impediria que você removesse os arquivos de outros usuários, mas se você possui o diretório, você pode apenas descompactar o bit ... O mesmo para se dar acesso de gravação.

No entanto, um diretório não-vazio pertencente a outro usuário seria mais um problema.

Em qualquer caso, se você puder chown dos arquivos no diretório, provavelmente já é superusuário e deve ser capaz de apenas rm -r da árvore inteira. Embora isto seja um pouco específico do sistema, e. no Linux, você poderia ter o recurso CAP_CHOWN , permitindo chown , mas não CAP_DAC_OVERRIDE , o que permitiria ignorar a falta de acesso de gravação.

    
por 22.06.2017 / 22:55
-1

É uma solução alternativa que não exclui imediatamente os arquivos (portanto, não ajudará se você precisar do espaço em disco agora), mas: mova a pasta inteira para /tmp e se /tmp for tmpfs será eliminado após a próxima reinicialização.

    
por 22.06.2017 / 22:33