나는 유닉스 계정을 생성하고 기본 비밀번호를 설정하기 위해 "사용자" 리소스를 사용하고 있습니다. 이를 위해 다음 목록을 작성했습니다.
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
Puppet 리소스는 현재 디렉터리의 명령만 찾는 것 같습니다 .
명령 경로를 추가하면 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