módulo de usuário fantoche não atualizando / etc / shadow com senha de hash

2

Estou gerenciando minhas instâncias de aplicativos ec2 usando o fantoche e isso envolve também o gerenciamento de usuários. Mas recentemente eu notei um bug que eu não posso fazer login com qualquer um dos nomes de usuário que eu adicionei através do fantoche. Depois de verificar uma das instâncias corrompidas (usei chaves neste caso), descobri que o campo de senha / etc / shadow (2ª coluna) está em branco, ou seja, nenhuma senha com hash. Eu não conseguia descobrir o motivo pelo qual as senhas hashed não são atualizadas com a criação do usuário ... porque eu tenho a senha hash fornecida no módulo do usuário .. acredite em mim eu estou usando um módulo de 'usuário' muito simples, mas por algum motivo não é atualizando senhas para os usuários.

Nota: O módulo está funcionando bem na minha máquina local (Centos 6.3)

Aqui está o meu módulo 'user.pp' e registros:

1) Anexando user.pp.

2) Registros de execução de fantoches:

mnotice: /Usertgrochowicz/ensure: created
mnotice: /Userjpollard/ensure: created
mnotice: /Userbottle/ensure: created
mnotice: /Userjburgar/ensure: created
mnotice: /Userrahul/ensure: created
mnotice: /Userjfenocchi/ensure: created
mnotice: /Userdwhite/ensure: created
mnotice: /Userbporter/ensure: created
mnotice: /Userasavarin/ensure: created
mnotice: /Userehalfin/ensure: created
mnotice: Finished catalog run in 1.69 seconds
mnotice: Finished catalog run in 0.21 seconds

3) Arquivo / etc / shadow entradas criadas:

tgrochowicz:!!:15956:0:99999:7:::
jpollard:!!:15956:0:99999:7:::
bottle:!!:15956:0:99999:7:::
jburgar:!!:15956:0:99999:7:::
rahul:!!:15956:0:99999:7:::
jfenocchi:!!:15956:0:99999:7:::
dwhite:!!:15956:0:99999:7:::
bporter:!!:15956:0:99999:7:::
asavarin:!!:15956:0:99999:7:::
ehalfin:!!:15956:0:99999:7:::

4) Os versão e arquitetura:

ec2-user@ip-10-100-38-78 ~$ uname -r
3.4.43-43.43.amzn1.x86_64
ec2-user@ip-10-100-38-78 ~$ uname -a
Linux ip-10-100-38-78 3.4.43-43.43.amzn1.x86_64 #1 SMP Mon May 6 18:04:41 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

Alguma idéia de por que este módulo não é capaz de atualizar a senha do meu módulo na instância ec2?

Minhas desculpas eu não estava ciente de que este não é um fórum. Aqui está a atualização da minha pergunta:

Eu concordo .. e eu esqueci de dizer que o ruby-shadow já está instalado como pré-requisito para o módulo 'user'. Ainda os campos de senha / etc / shadow estão em branco. Eu não tenho idéia do que está bloqueando o fantoche .. alguma idéia?

Aqui estão os logs de comando que dizem que o ruby-shadow está instalado e iniciado:

[root@ip-10-100-39-44 ~]# ruby -e "require 'puppet' ; puts Puppet.features.libshadow?"
true
[root@ip-10-100-39-44 ~]# rpm -qa | grep ruby-shadow
ruby-shadow-1.4.1-15.2.amzn1.x86_64

E aqui estão os registros de fantoches que "mostram o pacote 'ruby-shadow' instalado antes do módulo" user ":

[root@ip-10-100-39-44 ~]# less /var/log/messages 
*(/Stage[main]/Packages/Yumrepo[epel]/enabled) enabled changed '0' to '1'
Sep 20 03:08:50 ip-10-100-39-44 yum[2631]: Installed: ruby-shadow-1.4.1-15.2.amzn1.x86_64
Sep 20 03:08:51 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]/Packages/Package[ruby-shadow]/ensure) created*

*(/Stage[main]/Env::Sshd/Augeas[PasswordAuthentication]/returns) executed successfully
Sep 20 03:10:32 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]/Env::Sshd/Service[sshd]) Triggered 'refresh' from 1 events
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/Stage[main]//Exec[wait_for_5_sec]/returns) executed successfully
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/User[bporter]/ensure) created
Sep 20 03:10:38 ip-10-100-39-44 puppet-apply[2471]: (/User[asavarin]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[ehalfin]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[jpollard]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[bottle]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[jburgar]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[rahul]/ensure) created
Sep 20 03:10:39 ip-10-100-39-44 puppet-apply[2471]: (/User[tgrochowicz]/ensure) created
Sep 20 03:10:40 ip-10-100-39-44 puppet-apply[2471]: (/User[jfenocchi]/ensure) created
Sep 20 03:10:40 ip-10-100-39-44 puppet-apply[2471]: (/User[dwhite]/ensure) created*

Obrigado

    
por RaulPeterson 10.09.2013 / 20:34

1 resposta

4

Ruby (e, portanto, Puppet) requer que uma biblioteca chamada ruby-shadow seja instalada para permitir que Ruby modifique o arquivo de senhas shadow.

No RHEL / CentOS, esse é o rpm de sombra rubi. Em outras plataformas, pode ser chamado de ruby-shadowlib.

Os documentos de fantoches referem-se a ele no tipo de usuário no provedor- > useradd seção.

Você deve verificar se está carregando a coisa certa ao fazer algo como:

ruby -e "require 'puppet' ; puts PUppet.features.libshadow?"

Ele deve retornar true se estiver carregando corretamente.

    
por 10.09.2013 / 22:27