Puppet: 사용자가 다음 로그인 시 비밀번호를 변경하도록 강제

Puppet: 사용자가 다음 로그인 시 비밀번호를 변경하도록 강제

나는 유닉스 계정을 생성하고 기본 비밀번호를 설정하기 위해 "사용자" 리소스를 사용하고 있습니다. 이를 위해 다음 목록을 작성했습니다.

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

관련 정보