Puppet

如何將執行 puppet 腳本的使用者定義為變數

  • November 25, 2018

我正在使用 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',
        }

puppet 中有一個名為 的核心事實id,它“返回執行 facter 的使用者的使用者標識符 (UID)。”:https ://docs.puppet.com/facter/latest/core_facts.html#id

所以應該可以簡單地使用:

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

引用自:https://unix.stackexchange.com/questions/360123