Puppet: ユーザーが次のログイン時にパスワードを変更するように強制する

Puppet: ユーザーが次のログイン時にパスワードを変更するように強制する

私はUnixアカウントを作成し、デフォルトのパスワードを設定するために「ユーザー」リソースを使用しています。そのために、以下のリストを作成しました。

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',
   }
  }

うまくいきますが、ユーザーが次回ログインするときにパスワードを強制的に変更するようにしたいと思います。そのために、ユーザーがパスワードを強制的に変更するように、次のexecコマンドを実行するリソースにルールを拡張しました。chage -d 0 askar

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

しかし、これは私には効果がありません。ユーザーが次のログイン時にパスワードを強制的に変更できるようにする方法を提案できますか?

ベストアンサー1

execPuppetリソースは、現在のディレクトリのコマンドのみを探しているようです。

コマンドパスを追加するとchage問題が解決しました。

  $ which chage
  /usr/bin/chage

したがって、execリソースは次のように宣言されます。

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

認証されたユーザーのパスワードが期限切れです。これは、ユーザーが次回ログインするときにパスワードを変更する必要があることを意味します。

# 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

おすすめ記事