Permissões de arquivo do Linux não estão sendo preservadas

2

Estou implantando alguns softwares personalizados como root (uma necessidade para essa situação).

Eu defino o proprietário / grupo como user1:user1 e defino todos os arquivos como 644 no shell, depois copie e implante com ant.

No entanto, quando os arquivos são copiados do diretório de implantação, a propriedade é alterada para raiz e todos os arquivos são instalados com 666 permissões.

Isto parece ocorrer se o arquivo é sobrescrito ou recém-criado. Eu acredito que há uma maneira de definir uma opção nos comandos cp , mv para preservar as permissões, mas isso seria um monte de comandos para alterar. Como posso consertar isso?

Existe alguma configuração que eu possa alterar temporariamente para o root, para que a instalação sempre preserve as permissões do arquivo?

    
por yellavon 10.07.2012 / 16:13

2 respostas

2

cp -p preservará suas permissões. Se você quiser que a cópia seja a mais próxima possível, basta usar a opção "arquivar": cp -a . De cp --help você pode checar:

-a, --archive                same as -dR --preserve=all

-p                           same as --preserve=mode,ownership,timestamps
  --preserve[=ATTR_LIST]   preserve the specified attributes (default:
                             mode,ownership,timestamps), if possible
                             additional attributes: context, links, xattr,
                             all
    
por 10.07.2012 / 17:04
0

Não. Mas você deve usar install em seu lugar, o que permite que você especifique explicitamente tudo isso.

    
por 10.07.2012 / 16:26