Eu tenho um colega de trabalho que diz que você precisa ter cuidado ao extrair tarballs porque eles podem fazer alterações que você não conhece. Eu sempre pensei que um tarball era apenas uma hierarquia de arquivos compactados; portanto, se você o extrair para / tmp / example /, não será possível introduzir um arquivo em / etc / ou algo assim.
27
-P
opção que influencia seu comportamento nesse sentido./etc/passwd
no caso de ser executado como root. Há algum tempo, acredito que issogtar
oferece segurança semelhante à suastar
.Respostas:
Diferentes utilitários de alcatrão se comportam de maneira diferente nesse aspecto, por isso é bom ter cuidado. Para um arquivo tar que você não criou, sempre liste o índice antes de extraí-lo.
Alcatrão Solaris :
No caso de um arquivo tar com nomes de caminhos completos (absolutos), como:
... se você extrair esse arquivo, você terminará com os dois arquivos.
Alcatrão GNU :
... se você extrair um arquivo tar completo usando o GNU tar sem usar a
-P
opção, ele informará:e extrairá o arquivo em subdiretórios do seu diretório atual.
Alcatrão do AIX :
says nothing about it, and behaves as the Solaris tar -- it will create and extract tar files with full/absolute path names.
Alcatrão HP-UX : (melhor referência online bem-vinda)
Alcatrão do OpenBSD :
Existem
-P
opções implementadas para otar
macOS, FreeBSD e NetBSD, com a mesma semântica, com a adição de quetar
no FreeBSD e no macOS "se recusará a extrair entradas de arquivo cujos nomes de caminho contêm..
ou cujo diretório de destino seria alterado por um link simbólico" sem-P
.estrela de schilytools :
fonte
..
é um risco à segurança; portanto, usestar
ou recentegtar
. Observe também osstar
exemplos de arquivos tar que incluemtar
cabeçalhos criados manualmente que fazem com que a maioria dastar
implementações remova arquivos sem nem um aviso.tar
Solaris, AIX e HP-UX? Se sim, por que apontar apenas o GNU tar, especialmente se (novamente de acordo com a citação acima), eles mudaram para não aceitar..
? Problemas com entrada malformada são obviamente erros, e suponho que você os tenha relatado como tal.star
(a implementação gratuita mais antiga) deve ser vista como incompleta.Uma das coisas hilariantes que acontecem com as bombas de alcatrão é que elas alteram as permissões do diretório atual para o incluído no tarball.
Por exemplo, se um tarball incluir o '.' e descompactá-lo no diretório / tmp como root, ele destruirá o sistema, tornando o / tmp gravável por qualquer pessoa que não seja o root.
fonte
/
, ele alterará as permissões do diretório raiz, o que terá consequências inesperadas (lembro-me de obter "não é possível executar / bin / bash" ao fazer login em um console, porque/
era o modo 770).