Não use o SUDO para isso. Em vez disso, adicione o host em um grupo e delegue o acesso de gravação a esse grupo, usando as ACLs do arquivo POSIX. Consulte o link para obter um comando para gerenciar as listas de controle de acesso e link para o write-up real em ACLs no Linux. Isso pressupõe, obviamente, que você esteja usando um sistema de arquivos e um sistema de autenticação que suporta Listas de Controle de Acesso a Arquivos POSIX. Para garantir que as permissões permaneçam aplicadas, você provavelmente desejaria delegar o aplicativo da ACL a uma ferramenta de gerenciamento de configuração. O Puppet pode fazer ACLs POSIX (consulte link ). CFEngine pode fazer isso (veja link ), e eu tenho certeza que o Chef pode, também.
A outra opção é fornecer um comando ou serviço que o host pode usar para gerar o arquivo / etc / hosts a partir de um banco de dados / planilha e um modelo. Isso aumentaria a flexibilidade e permitiria que você colocasse controles no comando ou serviço.
Tenho certeza de que há outras maneiras de resolver isso também, incluindo uma instância DNS separada (ou mesmo uma exibição DNS separada, se estiver usando o BIND9) e dando à conta do host a capacidade de adicionar e remover registros usando o NSUPDATE comando (veja link )
Boa sorte.