compactar arquivos sem alterar sua propriedade

2

Agora entendo que não posso distribuir arquivos usando chown , pois sou um usuário normal e não aquele com permissões de root. Agora meu problema é que eu tenho um monte de arquivos com permissões de gravação sobre eles e eu não sou root. Mas ainda sendo afetado pela questão do espaço.

Agora eu posso zip dos arquivos, mas no momento em que eu fecho os arquivos eu me torno o dono. Depois de zipar, eu ainda quero que o dono seja quem criou o arquivo e não eu. Qualquer maneira que seja viável?

    
por hemanth 15.10.2015 / 01:40

1 resposta

1

Se você usar tar , poderá preservar a propriedade dos arquivos. No entanto, a menos que você esteja root ao extrair o arquivo do arquivo tar, a propriedade não será restaurada se você não tiver a permissão.
Note que o tar não compacta, apenas arquiva.

Como um bônus adicional, tar preservará as permissões dos arquivos e do diretório.

Para usar o tar e garantir a preservação de todas as propriedades e permissões :

tar cpf ~/myarchive.tar folder_to_archive

(tome cuidado para que o tar armazene o caminho relativo ou absoluto também. Ao extrair se você é um usuário padrão, o tar irá extrair os arquivos relativamente à pasta atual. Mas se você é root e usou um caminho absoluto, tar irá extraí-los usando o caminho absoluto, potencialmente sobrescrevendo arquivos existentes. Leia a documentação do tar e os tutoriais para todas as possibilidades relacionadas a caminhos absolutos ou relativos.)

(opcionalmente, você pode compactar o arquivo tar usando qualquer ferramenta de compactação. Exemplos: gzip ~/myarchive.tar or xz ~/myarchive.tar etc.)

Para extrair seus arquivos :

tar --same-owner xpf ~/myarchive.tar

Como usuário normal, isso extrairá os arquivos na pasta atual, as permissões serão mantidas, mas a propriedade do usuário será perdida e a propriedade do grupo poderá ser perdida se você não fizer parte do grupo.

Mas, para ter todas as permissões e propriedade configuradas corretamente, você precisará chamar esse comando via sudo ou executá-lo como um usuário com privilégios suficientes (geralmente root).

PS: se no Linux e usando o GNU tar, você pode preservar alguns metadados como ACL, xattr ou SELinux. Mas você precisa usar sinalizadores especiais para permitir que o tar saiba que esses dados também devem ser arquivados. Veja a documentação do GNU tar .

    
por 15.10.2015 / 11:28