Como distribuir arquivos sudoers com o REX Configuration Management

1

Ao tentar enviar um arquivo sudoers para outras máquinas, a tarefa / comando rexcm fica presa.

O Problema é (assim me parece), que o arquivo sudoers é de propriedade do rex-user ao escrever e a permissão "other" é definida, o que leva à falha do 'sudo' (o que leva à quebra do sudo TRUE "no Rexfile):

mySrv:/etc# ls -l sudoers.d/                                                                                                                                                                          
-rw-rw-r--   1 rexuser rexuser   72 Jul 25 07:49 sudoersFile

Eu tentei distribuir o arquivo da fonte e do modelo.

file "/etc/sudoers.d/sudoersFile",                                   
        #source => "files/sudoers.d/sudoersFile",                    
        owner=>"root", group=>"root", mode => "600",                    
        content => template("templates/sudoers.d/sudoersFile.tpl"),  
        on_change => sub{                                               
                say "file sudoersFile transfered";                   
        };                                                              

}; 

Pergunta: Qual é a (ou: há) uma maneira correta de distribuir arquivos sudoers com o gerenciamento de configuração do rex?


Atualização / solução alternativa:
(thx para 'xq' de # rex @ freenode)

  • copie o arquivo para um local temporário no sistema remoto (mesmo código, como acima, mas caminho diferente)
  • move / copia os arquivos para "/ etc" (o comando rex para "mv" é "rename", colocado no final da mesma definição de tarefa)

    rename("$tmpDir/sudoers.d/sudoersFile", "/etc/sudoers.d/sudoersFile");
    

    ... o lado negativo: você precisa fornecer manualmente um evento "on_change"

por eli 25.07.2018 / 08:11

0 respostas