puppet 스크립트를 실행하는 사용자를 변수로 정의하는 방법

puppet 스크립트를 실행하는 사용자를 변수로 정의하는 방법

저는 puppet을 사용하고 있으며 이를 실행하는 사용자와 관련된 파일을 생성하는 스크립트를 작성하려고 합니다. 파일/소프트 링크가 존재하지 않는 경우 이를 생성하여 다른 응용 프로그램이 이를 편집한 다음 아카이브로 이동할 수 있다고 가정해 보겠습니다.

file { '/some/path/myuser.file':
    ensure => 'link',     -- ensure => 'file', if I want to create file
    target => '/orignal/path/file',
     }

참고: myuser는 스크립트를 실행하는 실제 사용자가 편집해야 합니다.
다음과 같이 스크립트를 수정하면 문제 없이 잘 작동합니다.

file { '/some/path/aabuhasna.file':
        ensure => 'link',  -- ensure => 'file', if I want to create file
        target => '/orignal/path/file',
         }

답변1

idpuppet에는 "팩트를 실행하는 사용자의 UID(사용자 식별자)를 반환"하는 핵심 팩트가 있습니다 .https://docs.puppet.com/facter/latest/core_facts.html#id

따라서 간단히 다음을 사용하는 것이 가능해야 합니다.

file { "/some/path/${id}":
  ensure => 'link',
  target => '/original/path/file',
}

관련 정보