Eu preciso fazer backup de alguns dados com a opção "p" no comando tar. O problema é que o local em que vou restaurar esses dados terá todos os mesmos usuários, mas esses usuários podem ter IDs diferentes. Isso faz alguma diferença para o tar ou restaurará as permissões corretamente pelo nome de usuário?
20
tar
faz nomes proprietário do registro.Resumindo respostas anteriores e adicionando algumas informações importantes:
Quando criar arquivos,
tar
sempre vai preservar usuário e grupo ID arquivos, a menos que dito de outra maneira, com--owner=NAME
,--group=NAME
. Mas ainda haverá sempre um usuário e um grupo associado a cada arquivo.O tar GNU, e talvez outras versões
tar
, também armazenam os nomes de usuário e grupo , a menos que--numeric-owner
sejam usados. O bsdtar também armazena nomes de usuários e grupos por padrão, mas o suporte à--numeric-owner
opção ao criar não apareceu até o bsdtar 3.0 (observe que o bsdtar suportava a opção ao extrair por muito mais tempo).Ao extrair como um usuário comum , todos os arquivos sempre pertencem ao usuário. E não pode ser diferente, pois a extração de um arquivo está criando um novo arquivo no sistema de arquivos, e um usuário comum não pode criar um arquivo e dar a propriedade a outra pessoa.
Ao extrair como root ,
tar
por padrão, restaura a propriedade dos arquivos extraídos, a menos que--no-same-owner
seja usado, o que dará a propriedade de fazer o root.Em GNU tar, bsdtar, e talvez outras versões
tar
, a propriedade restaurada é feito por usuário (e grupo) nome , se essa informação está no arquivo e não é um usuário correspondente no sistema de destino. Caso contrário, ele restaura por ID. Se a--numeric-owner
opção for fornecida, os nomes de usuários e grupos serão ignorados.Permissões e carimbos de data e hora também são salvos no arquivo morto e restaurados por padrão, a menos que opções
--no-same-permissions
e / ou--touch
sejam usadas. Quando extraído pelo usuário, o usuárioumask
é subtraído das permissões, a menos que--same-permissions
seja usado.--preserve-permissions
e--same-permissions
são aliases e têm a mesma funcionalidade que-p
Espero que isso ajude a esclarecer o problema! :)
fonte
tar
permitem especificar nomes arbitrários--owner
ou--group
, no passado,tar
fizeram uma pesquisa gratuita na máquina atual/etc/passwd
e se recusaram a executar se não houvesse correspondência.--owner
mas também adicionado no--numeric-owner
sinalizador? Como o alcatrão lida com esses requisitos concorrentes?--owner
e--numeric-owner
não são mutuamente exclusivos, e servem a propósitos muito distintos:--owner=USERNAME
substituirá os arquivos e dirs owner (s) ao arquivar os arquivos, enquanto--numeric-owner
simplesmente não armazenará o nome de usuário, apenas seu ID numérico.Use a opção --same-owner para o GNU tar. Consulte http://www.gnu.org/software/tar/manual/html_section/Attributes.html
fonte
Se você estiver tentando transferir arquivos entre dois sistemas, o rsync definirá as permissões por nome de usuário em vez de uid, observando os nomes de usuário nas duas extremidades. Somente se o usuário não existir em um dos sistemas, ele será copiado com o uid, a menos que você diga o contrário.
fonte