1
我試圖提取文件的內容並將其存儲在變量中。我的代碼看起來像這樣。將文件的內容存儲在變量中
define ssh_user (
$name = undef,
$role = undef,
$password = undef,
$usergroup = undef,) {
user { $name:
home => "/home/${name}/",
ensure => present,
}->
exec { "generate keys ${name}":
user => $name,
command => '/bin/echo -e "\n\n\n" | ssh-keygen -t rsa',
path => "/usr/bin/",
}->
file { "/home/${name}/.ssh/auhorized_keys":
ensure => file,
mode => 700,
source => "/home/${name}/.ssh/id_rsa.pub",
}
@@node_user { $name:
require => File["/home/${name}/.ssh/auhorized_keys"],
key => file('/home/${name}/.ssh/id_rsa.pub'), ## line causing error
role => "ssh::users::${name}::role",
}
}
我碰到下面的錯誤,
Error: Could not find any files from /home/${name}/.ssh/id_rsa.pub at /etc/puppet/manifests/sshd_setup.pp:90 on node puppet.colo.seagate.com
Error: Could not find any files from /home/${name}/.ssh/id_rsa.pub at /etc/puppet/manifests/sshd_setup.pp:90 on node puppet.colo.seagate.com
我創建了一組用戶的文件和存儲在varaible文件的內容。 將文件內容存儲在變量中後,我使用它來創建導出的資源。
我嘗試使用「require」和「 - >」來確保我的資源之間的順序;但事實證明這個錯誤可能是由於我的文件的路徑(它包含一個變量名)。