Temos vários servidores Linux que se autenticam em um domínio do Active Directory. Para um grupo no AD, quero adicionar uma lista de comandos que podem ser executados como root usando o sudo. Obviamente, posso fazer o ssh-in em cada computador e atualizar o arquivo sudoers - mas isso levará algum tempo. Além disso, o login raiz não é permitido. Portanto, logons com menos senha só funcionarão para usuários não raiz.
Existe uma maneira rápida de atualizar o arquivo sudoers para cada computador Linux de uma só vez? Estou pensando em um script Perl ou Python com algumas habilidades de administração do sistema aqui.
Atualização: Obrigado veroteq7 e Shane Madden. Eu tinha pensado em implantar o cfengine em um ponto - mas não o temos atualmente em execução. Decidimos que usar o LDAP seria a melhor solução. Estou recebendo um erro ao importar o esquema do esquema LDIF.ActiveDirectory para sudo. O erro é "o parâmetro não está correto" na linha 144.
Este é o conteúdo da linha 144 em diante:
dn: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
changetype: add
objectClass: top
objectClass: classSchema
cn: sudoRole
distinguishedName: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
instanceType: 4
possSuperiors: container
possSuperiors: top
subClassOf: top
governsID: 1.3.6.1.4.1.15953.9.2.1
mayContain: sudoCommand
mayContain: sudoHost
mayContain: sudoOption
mayContain: sudoRunAs
mayContain: sudoRunAsUser
mayContain: sudoRunAsGroup
mayContain: sudoUser
rDNAttID: cn
showInAdvancedViewOnly: FALSE
adminDisplayName: sudoRole
adminDescription: Sudoer Entries
objectClassCategory: 1
lDAPDisplayName: sudoRole
name: sudoRole
schemaIDGUID:: SQn432lnZ0+ukbdh3+gN3w==
systemOnly: FALSE
objectCategory: CN=Class-Schema,CN=Schema,CN=Configuration,DC=X
defaultObjectCategory: CN=sudoRole,CN=Schema,CN=Configuration,DC=X
O comando que eu usei é:
ldifde -i -f schema.ActiveDirectory -c dc=X dc=DOMAINNAME,dc=LOCAL
Update2: criei uma nova pergunta . Obrigado a todos por sugestões.
Respostas:
Por que não descartar
/etc/sudoers
e usar o AD (LDAP) como sua loja de sudoers? - Mais informações aqui .Você já está se autenticando no AD, portanto, este é apenas o próximo passo lógico e fornece um local conveniente e centralizado para lidar com autenticação e autorização.
fonte
sudoers
- não sei como nunca encontrei isso. Um muito merecido +1.Que tal uma ferramenta de gerenciamento de configuração? Fantoche , Chef , CFEngine , etc?
fonte
Você pode definir grupos em sudoers ... e extrair esses grupos de um repositório de autenticação central ... como o Active Directory. Adoro colocar administradores de domínio no meu arquivo sudoers. Economiza muita dor de cabeça.
fonte
Se você estiver procurando por uma API para modificar seu arquivo sudoers, poderá usar o Augeas com a lente Sudoers. Ele se integra perfeitamente ao Puppet , mas você também pode usá-lo em um script seu (há muitas ligações).
Veja esta resposta, por exemplo.
fonte
Hmm!! é uma dor. da outra maneira, você pode fazê-lo com o comando cssh, que permitirá abrir várias janelas por vez. se você digitar algo na minúscula janela (janela branca em branco), perceberá que sua digitação está se propagando por todas as janelas. eu recomendaria fazer um backup do seu arquivo suoders e usar o comando visudo para atualizar sudoers. se qualquer arquivo sudoer não gostar, o visudo solicitará que você corrija o arquivo.
Felicidades
fonte