Aplicando padrões de propriedade de outro servidor

1

Digamos que há dois servidores dedicados, recém-instalados, com software e usuários idênticos em ambos.

Suponha que, por alguma razão, eu queira copiar os padrões de propriedade de um desses servidores para outro. Isso é possível?

    
por FiddlingAway 22.06.2017 / 12:51

1 resposta

1

O primeiro parágrafo dificilmente faz sentido, mas a sua pergunta atual:

Can I recover and set up file permissions and ownerships using another server as a reference/template?

A resposta curta é: talvez ...

A resposta mais longa é que essa estratégia falhará em todos os arquivos que não existem nos dois servidores. E, no que diz respeito ao script, você precisará ter um cuidado especial com arquivos especiais, links (simbólicos), caracteres especiais em nomes de arquivos / diretórios, etc. etc.

Mas os comandos chmod e chown suportam um sinal --reference . Você pode apontar para um arquivo existente e chmod usará as permissões desse arquivo em vez de precisar fornecer valores de MODE ao alterar o modo de arquivo.
Da mesma forma, chown usará o proprietário e o grupo desse arquivo / diretório de referência em vez de especificar os valores de OWNER: GROUP.

O exercício é então:

  1. Torne a origem, as árvores de diretório de referência necessárias como modelo no servidor de destino. (Se você tiver espaço vazio suficiente, simplesmente copie o diretório de origem enquanto preserva as propriedades e as configurações de modo, ou use como alternativa o NFS para exportar a árvore de diretórios de origem e montá-las como modelo.)
  2. Em seguida, execute esses comandos find brutos que executam chown e chmod :

( Por favor, note que estes são apenas conceituais e não testados. Por favor, adicione restrições para find para apenas localizar arquivos e diretórios, por exemplo, e omitir o seguinte links simbólicos e tal ... )
Para redefinir propriedades e modos em um /etc/ corrompido:

cd /template/etc
find . -exec chmod -v --reference='{}' /etc/'{}' \;
find . -exec chown -v --reference='{}' /etc/'{}' \;
    
por 24.06.2017 / 18:40