Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 如何使用SHA-512哈希和Puppet设置用户密码?_Linux_Puppet_Redhat - Fatal编程技术网

Linux 如何使用SHA-512哈希和Puppet设置用户密码?

Linux 如何使用SHA-512哈希和Puppet设置用户密码?,linux,puppet,redhat,Linux,Puppet,Redhat,我想用Puppet设置用户密码。守则: if ($operatingsystemmajrelease == '7') { group { 'zabbix': name => "zabbix", ensure => "present", } user { 'zabbix': name => "zabbix", groups => "zabbix", password => "$6$UdvUfiKs$r

我想用Puppet设置用户密码。守则:

if ($operatingsystemmajrelease == '7') {
  group { 'zabbix':
    name   => "zabbix",
    ensure => "present",
  }
  user { 'zabbix':
    name     => "zabbix",
    groups   => "zabbix",
    password => "$6$UdvUfiKs$rb4XFkCn2h/AUZrJsg2wnRDkOH5E5lliJZXqySVEYUDARFSlWKYHOeMLWycTa2jIMa3XQ3MWtq1EiilBZCbKX.",
  }
}
产生一个错误:

错误:无法从远程服务器检索目录:服务器上的错误500:{“消息”:“服务器错误:变量名称非法,给定名称'UdvUfiKs'不符合命名规则/^(::)?[a-z]\w*(:)?[a-z]\w*)$/at/opt/puppetlabs/environments/Linux_nieprodukcja/modules/zabbix_install_lin/manifests/init.pp:16:20在节点napup01.corpnet.pl上,“问题种类”:“运行时错误”}


SHA-512我在添加用户zabbix后生成了表单shell
passwd zabbix
,并将其复制到清单中。为什么会出现此错误?

这里的问题是,您在
用户的
资源的
密码
属性中使用了双引号。这指示Puppet在其他操作中插入变量。Puppet将前导的
$
解释为变量名的开头,而不是SHA-512哈希。你必须做字符串转义来帮助这里。这种行为在所有解释性语言中都很常见。您可以使用字符串文字代替
''
,轻松解决此问题:

请注意,puppet lint会向您发出警告,提醒您此问题,并帮助您解决此问题:

user { 'zabbix':
  name     => 'zabbix',
  groups   => 'zabbix',
  password => '$6$UdvUfiKs$rb4XFkCn2h/AUZrJsg2wnRDkOH5E5lliJZXqySVEYUDARFSlWKYHOeMLWycTa2jIMa3XQ3MWtq1EiilBZCbKX.',
}