Puppet:强制用户在下次登录时更改密码

Puppet:强制用户在下次登录时更改密码

我正在使用“users”资源创建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

看起来exec木偶资源只在当前目录中查找命令。

添加命令路径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

相关内容