Alterando a senha em várias caixas usando script

5

Estou trabalhando em um ambiente com cerca de 400 caixas AIX. Eu não tenho acesso root e sou um usuário normal. O ambiente não possui nenhum tipo de mecanismo centralizado LDAP para autenticação, portanto, as senhas são mantidas apenas no arquivo /etc/shadow .

A política de segurança nos faz mudar as senhas a cada 30 dias, o que cria uma grande complicação onde não podemos alterar as senhas em todas as caixas todo mês, o que nos leva a ter senhas diferentes em cada caixa. É uma grande dor de cabeça para manter as senhas.

Existe uma maneira de escrever um script que fará login e alterará as senhas em uma lista das caixas para que possamos alterar a senha todos os meses em todas as caixas para que tenhamos as mesmas senhas? Por favor, informe a lógica, para que eu possa escrever um script.

    
por Barani Kannan 19.07.2013 / 00:27

1 resposta

3

pssh

Uma abordagem seria usar um comando como pssh para executar o ssh em paralelo em vários sistemas ao mesmo tempo.

Um comando como esse seria suficiente:

$ pssh -h ~/pssh-hosts 'printf "%s\n" old_pass new_pass new_pass | passwd'

Isto irá executar o comando:

printf "%s\n" old_pass new_pass new_pass | passwd

que irá "mudar" a senha. O comando pssh :

$ pssh -h ~/pssh-hosts '... commmands to run ...'

executará este comando na lista de hosts no arquivo ~/pssh-hosts em paralelo, tudo ao mesmo tempo.

Existem alguns exemplos de pssh em ação neste tutorial intitulados: pssh HOWTO . O comando pssh também possui outros comandos, como pscp , para copiar arquivos em paralelo em vários sistemas.

sshpt (ferramenta elétrica SSH)

Da mesma forma que pssh , sshpt . Funciona semelhante a pssh , mas é outra opção.

outras opções?

Há muitas opções além dessas duas. Você pode ver mais deles listados neste ServerFault Q & A intitulado: O que é uma boa ferramenta SSH paralela moderna? .

Referências

por 19.07.2013 / 02:05