Как распространять файлы sudoers с помощью REX Configuration Management

При попытке отправить файл sudoers на другие машины задача / команда rexcm застревает.

Проблема в том (как мне кажется), что файл sudoers принадлежит пользователю rex при записи и установлено "другое" разрешение, что приводит к сбою 'sudo' (что приводит к нарушению "sudo TRUE" в Rexfile):

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

Я пытался распространить файл из источника и из шаблона.

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";                   
        };                                                              

}; 

Вопрос: Что такое (или:rex @ freenode )

  • скопируйте файл во временное место на удаленной системе (тот же код, что и выше, но другой путь)
  • переместите / скопируйте файлы в «/ etc» (rex-command для «mv»: rename ", поставьте в конец того же определения задачи)

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

    ... обратная сторона: вы должны вручную предоставить событие "on_change"

1
задан 25 July 2018 в 16:29
1 ответ

просто отвечаю на вопрос с обходным путем, упомянутым в вопросе, так как за год не было нового просветления:

(thx to 'xq' from # rex @ freenode)

  • скопируйте файл во временное место на удаленной системе (тот же код, что и выше, но другой путь)
  • переместите / скопируйте файлы в «/ etc» (rex / perl-command для «mv» - «переименовать», поставить в конце того же определения задачи)

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

    ... обратная сторона: вам нужно вручную указать событие "on_change"

0
ответ дан 4 December 2019 в 03:47

Теги

Похожие вопросы