我正在使用“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