Arquivo sudoers centralizado do sudo?

7

Eu sou o administrador de vários servidores diferentes e atualmente há um arquivo sudoers diferente em cada um. Isso está ficando um pouco fora de controle, já que muitas vezes eu preciso dar permissões a alguém para fazer algo com o sudo, mas isso só é feito em um servidor. Existe uma maneira fácil de editar o arquivo sudoers apenas no meu servidor central e depois distribuí-lo pelo SFTP ou algo assim para os outros servidores de uma maneira fácil?

Pensando principalmente em como os outros administradores de sistemas resolvem esse problema, uma vez que o arquivo sudoers não parece estar acessível remotamente com o NIS, por exemplo.

O sistema operacional é o SUSE Linux Enterprise Server 11 de 64 bits, mas não importa.

EDIT: Todas as máquinas terão, por enquanto, o mesmo arquivo sudoers.

EDIT2: O comentário da resposta aceita foi o mais próximo do que eu realmente fiz. Estou usando agora uma instalação de marionetes suportada pelo SVN e depois de algumas dores de cabeça, está funcionando muito bem.

    
por Stefan Thyberg 03.12.2009 / 14:43

5 respostas

8

A última coisa que eu gostaria de fazer é criar um arquivo sudoers separado, como Dave sugere. Se você tem muitas máquinas, e apenas sutis diferenças se aplicam (como é frequentemente o caso), você realmente não quer isso. Isso gerará muita sobrecarga.

O que você realmente quer fazer é criar um arquivo sudoers. Nesse arquivo sudoers, você pode definir Host_Aliases para grupos de sistemas para os quais você deseja que uma determinada política seja aplicada. Você também pode criar User_Aliases e outros. Feito corretamente, isso dá a você um enorme benefício por ter um arquivo para editar, então é fácil ver o que se aplica onde e você não precisa se preocupar com diferentes versões do arquivo sudoers sendo implementado em diferentes máquinas por acidente.

Novas versões do sudo até suportam o diretório sudoers.d em / etc, o que pode ser útil também, mas ainda não tentei isso.

    
por 03.12.2009 / 15:48
7

Etapa 1. Configurar um servidor ldap e configurar todas as suas máquinas para autenticar usuários e grupos via ldap

Etapa 2. Crie um grupo mestre de sudoers no ldap, diga seus sufocadores da empresa. Dê a esse grupo permissão para sudo (com senha) no arquivo / etc / sudoers em cada máquina.

Etapa 3. Crie um grupo sudoers-machinename no ldap, adicione esse grupo ao / etc / sudoers na máquina correspondente.

Com essas três etapas, você não precisa editar o arquivo / etc / sudoers depois que a máquina é instalada e também obtém uma série de outros benefícios

Para efeito extra

Etapa 4. Configure o fantoche, cfengine, chef ou similar e implemente um arquivo sudoers de modelo para cada máquina automaticamente.

    
por 03.12.2009 / 14:53
6

/ etc / sudoers também podem ser substituídos diretamente por chamadas para um servidor LDAP centralizado. Todas as permissões e configurações que você normalmente configuraria na máquina local são definidas no LDAP.

link

    
por 03.12.2009 / 15:46
2

Alternativamente, você pode procurar usar o controle de versão (digamos git ou mercurial) para alguns de seus arquivos de configuração em / etc, colocar o arquivo sudoers sob o referido VCS, e fazer com que cada máquina extraia sua cópia dos arquivos de configuração comuns do repositório.

    
por 03.12.2009 / 15:40
1

você pode querer considerar a solução do mesmo modo que é fácil de implementar e instalar (openlikewise é gratuita), para informações específicas sobre uma política de sudoers veja isto:

link

    
por 23.12.2011 / 17:07

Tags