傀儡代码删除了一个文件,而不是替换
puppet code deleted a file, instead of replacing
我在使用 puppet 模块时遇到问题,这个模块应该根据 Redhat 版本替换 /etc/ssh/sshd_config
文件。所以问题是,在应用代码后,puppet 删除了文件,而不是替换它。
如果我的代码有任何错误,请有人提出建议。
这是我的人偶清单文件;
class os_vul_ssh {
case $::operatingsystemmajrelease {
'6':{$sshconfigfile = 'sshd_config.rhel6'}
'7':{$sshconfigfile = 'sshd_config.rhel7'}
}
package { "openssh-server":
ensure => installed,
}
service { 'sshd':
ensure => "running",
enable => true,
require => Package["openssh-server"],
}
file { "/etc/ssh/sshd_config":
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/${::sshconfigfile}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
}
file { "/etc/ssh/sshd_config":
ensure => file, <----- this is missing
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/${::sshconfigfile}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
这里可能会发生更多的事情,但这是我想到的第一个问题。
顺便说一下,你可以用这个清理你的代码:
file { "/etc/ssh/sshd_config":
ensure => file,
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/sshd_config.rhel${::operatingsystemmajrelease}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
如果您使用的是 Facter 3,请考虑将您的事实更改为:
$facts['operatingsystemmajrelease']
并注意您的 sshconfigfile
是局部变量,应作为局部变量 $sshconfigfile
而不是全局变量 $::sshconfigfile
.
包含在您的文件资源中
我在使用 puppet 模块时遇到问题,这个模块应该根据 Redhat 版本替换 /etc/ssh/sshd_config
文件。所以问题是,在应用代码后,puppet 删除了文件,而不是替换它。
如果我的代码有任何错误,请有人提出建议。
这是我的人偶清单文件;
class os_vul_ssh {
case $::operatingsystemmajrelease {
'6':{$sshconfigfile = 'sshd_config.rhel6'}
'7':{$sshconfigfile = 'sshd_config.rhel7'}
}
package { "openssh-server":
ensure => installed,
}
service { 'sshd':
ensure => "running",
enable => true,
require => Package["openssh-server"],
}
file { "/etc/ssh/sshd_config":
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/${::sshconfigfile}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
}
file { "/etc/ssh/sshd_config":
ensure => file, <----- this is missing
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/${::sshconfigfile}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
这里可能会发生更多的事情,但这是我想到的第一个问题。
顺便说一下,你可以用这个清理你的代码:
file { "/etc/ssh/sshd_config":
ensure => file,
owner => root,
group => root,
mode => '0644',
source => "puppet:///modules/os_vul/sshd_config.rhel${::operatingsystemmajrelease}",
require => Package["openssh-server"],
notify => Service["sshd"],
}
如果您使用的是 Facter 3,请考虑将您的事实更改为:
$facts['operatingsystemmajrelease']
并注意您的 sshconfigfile
是局部变量,应作为局部变量 $sshconfigfile
而不是全局变量 $::sshconfigfile
.