Traduzindo o ID do usuário ao criar a imagem

1

Eu quero criar uma imagem (por exemplo, imagem ext3) de uma determinada hierarquia de diretórios. Essa hierarquia de diretórios é de propriedade de um determinado usuário. Mas na imagem final, quero que os arquivos sejam de propriedade do superusuário. Existe uma solução para tranlating o usuário uid / gid para 0?

Aqui está um pseudo fluxo de trabalho:

  1. Crie hierarquia de arquivos, como usuário em /home/user/rootfs

  2. Crie uma img ext3 em um arquivo

  3. montar o img vazio (como usuário ou raiz) em /somewhere/loopmount

  4. cp -R --magic_uid_options 500=0 /home/user/rootfs /somewhere/loopmount

A etapa 4 pode ser uma cópia normal e a etapa 5 é uma descoberta inteligente que seria chown e chgrp recursivamente. Existe solução bem conhecida para este tipo de problema?

    
por shodanex 14.02.2012 / 15:24

2 respostas

2

Eu não conheço nenhum " --magic_uid_options " para o comando cp e você não precisa ser inteligente para fazer recursivo chown ou chgrp .

Na verdade eu gostaria de:

  • mantenha o máximo de propriedades de arquivos / diretórios ao fazer a cópia (timestamp, ...)

    cp -pR /home/users/rootfs /somewhere/loopmount/
    
  • chown all para root:root :

    chown -R root:root /somewhere/loopmount
    
por 14.02.2012 / 16:44
1

Você pode fazer o passo 4, como root:

cd /home/user/rootfs
pax -rw -pp . /somewhere/loopmount

-pp preserva modos e horas, mas cria arquivos de propriedade do usuário e do grupo que está executando pax .

    
por 14.02.2012 / 16:55