Puppet: Forçando o usuário a mudar sua senha no próximo login

2

Estou usando o recurso 'users' para criar contas unix e depois definir uma senha padrão. Por isso eu escrevi o seguinte manifesto.

node 'node2.example.com','node3.example.com'{
 user {
 'askar':
  ensure  => 'present',
  managehome => 'true',
  comment => 'man Home',
  home    => '/home/askar',
  shell   => '/bin/bash',
  expiry  => '2016-03-22',
  password => '$1$cs1j/t.D$4Q2Ocr0pulyNTUx/',
  password_min_age => '30',
  password_max_age => '60',
   }
  }

Funciona bem, mas eu quero que o usuário seja forçado a mudar sua senha no próximo login. Para isso eu estendi a regra com um recurso exec para executar o seguinte comando chage -d 0 askar para que o usuário seja forçado a alterar a senha

exec {
'chage':
 command => 'chage -d 0 askar'
 }
}

Mas isso não está funcionando para mim. Você pode sugerir como posso fazer com que um usuário seja forçado a alterar sua senha no próximo login.

    
por Zama Ques 16.03.2016 / 11:20

1 resposta

0

Parece que exec puppet resource procura pelo comando apenas no diretório atual.

Adicionando o caminho do comando chage resolveu o problema para mim

  $ which chage
  /usr/bin/chage

Portanto, a declaração do recurso exec é a seguinte

 exec {
  'chage':
        path => '/usr/bin/',
        command => 'chage -d 0 askar',
      }

Verificada que a senha expirou para o usuário, o que significa que o usuário deve alterar sua senha no próximo login.

# chage -l askar
Last password change                : Password must be changed 
Password expires                    : Password must be changed
Password inactive                   : password must be changed
Account expires                     : Mar 22, 2016
Minimum number of days between password change          : 30
Maximum number of days between password change          : 60
Number of days of warning before password expires       : 7
    
por 17.03.2016 / 11:20