O arquivo /etc/sudoers
foi projetado para ser distribuído entre vários servidores. Para conseguir isso, cada permissão no arquivo tem uma porção de host.
Isso geralmente é definido como ALL=
, o que significa que a permissão é válida para qualquer servidor, mas pode ser configurada para hosts específicos:
%sudo kaagini=(ALL) ALL
Para que o sudo saiba se esta regra deve ser aplicada, ele precisa procurar o host em que está sendo executado. Ele usa uma chamada que depende do /etc/hosts
sendo correto, e é por isso que ele falha se não estiver certo.
Pode-se argumentar que sudo
não precisa se preocupar em fazer uma pesquisa de nome se a parte do host estiver definida como ALL=
para todas as permissões, mas isso não funciona dessa maneira - parece funcionar onde ele é executado antes de processar as regras.
Isto é realmente para facilitar a manutenção, já que o sudo só lê o / etc / sudoers para ver o que o usuário pode fazer na máquina atual. Mas como um administrador com 100 servidores, isso pode exigir 100 arquivos diferentes do / etc / sudoers para serem mantidos. Como os sudoers têm uma parte do host nas permissões, você pode manter um único arquivo sudoers e distribuí-lo para todas as máquinas, mas ainda assim ter granularidade sobre o que os usuários podem fazer em cada máquina.