꼭두각시 평가 변수는 한 번만

꼭두각시 평가 변수는 한 번만

다음을 사용하여 신규 사용자의 비밀번호를 생성합니다.APG

단순한:

$password = generate('/etc/puppet/utils/gen_password')

이 명령의 유일한 문제점은 이 명령이 한 번만 필요하지만 puppet이 실행될 때마다 평가된다는 것입니다.

이 변수는 하나의 내부에서 사용됩니다.임원선언.

필요한 경우에만 변수를 평가할 가능성이 있습니까? 예를 들어 처음 사용하는 경우입니다.

답변1

여러 옵션을 사용하여 조건부로 exec를 실행할 수 있습니다. 귀하의 필요에 맞는 것을 선택하십시오:

  • ~하지 않는 한- 이 매개변수가 설정되면 명령이 0을 반환하지 않는 한 이 exec가 실행됩니다.
  • 창조하다- 명령을 실행하기 전에 찾아야 할 파일입니다. 파일이 존재하지 않는 경우에만 명령이 실행됩니다.
  • 경우에만- 이 매개변수가 설정되면 이 exec는 명령이 0을 반환하는 경우에만 실행됩니다.
  • 새로 고침 전용- 명령은 종속 개체가 변경될 때 새로 고침 메커니즘으로만 실행되어야 합니다.

답변2

Exec에서 비밀번호를 사용하지 않는 경우 다음에서 제안하는 방법을 사용하십시오.카지미에라스 알리울리스당신에게 효과가 없을 수도 있습니다.

저라면 /etc/puppet/utils/gen_password서비스/호스트별로 항상 동일한 비밀번호를 반환하도록 스크립트를 수정했을 것입니다. 당신은 꼭두각시가 Generte를 이렇게 부르도록 할 것입니다 generate("/etc/puppet/utils/gen_password $::clientcert").

그런 다음 스크립트에서 해당 시스템에 대해 비밀번호가 생성되었는지, 그리고 비밀번호가 반환되었는지 확인합니다. 그렇지 않은 경우 새 항목을 생성하고 저장한 후 반환하세요.

가능하다면 암호화되지 않은 비밀번호를 저장하고 반환하지 마세요. 대신 솔트 처리된 비밀번호 해시를 생성하고 반환하세요.

물론 비밀번호 사용을 모두 건너뛰고 대신 인증에 인증서나 키를 사용할 수 있다면 훨씬 더 좋을 것입니다.

관련 정보