Vagrant Puppet-如何为来宾计算机上的用户提供与主机上的用户相同的用户名

Vagrant Puppet-如何为来宾计算机上的用户提供与主机上的用户相同的用户名,vagrant,puppet,provisioning,Vagrant,Puppet,Provisioning,如何配置puppet,以便为来宾计算机上的用户提供与主机上提供来宾的用户的用户名匹配的用户名?(使用puppet应用,而不是服务器/主机) 这是我迄今为止尝试过的: 按照本文中的说明,我尝试使用vagrant/puppet在来宾计算机上创建一个与主机上的用户帐户相匹配的用户帐户。但最终,它没有起作用。创建了“$user\u name”用户,而不是获取主机用户名 流浪汉档案: 配置/shell/apt-update.sh: 设置/shell/puppet.sh: 设置/puppet/manifes

如何配置puppet,以便为来宾计算机上的用户提供与主机上提供来宾的用户的用户名匹配的用户名?(使用puppet应用,而不是服务器/主机)

这是我迄今为止尝试过的:

按照本文中的说明,我尝试使用vagrant/puppet在来宾计算机上创建一个与主机上的用户帐户相匹配的用户帐户。但最终,它没有起作用。创建了“$user\u name”用户,而不是获取主机用户名

流浪汉档案:

配置/shell/apt-update.sh:

设置/shell/puppet.sh:

设置/puppet/manifests/default.pp:

实际产出

##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 $user_name $user_name 4096 Dec 17 23:41 $user_name
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant
##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 axiopisty  axiopisty  4096 Dec 17 23:41 axiopisty
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant
预期产出

##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 $user_name $user_name 4096 Dec 17 23:41 $user_name
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant
##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 axiopisty  axiopisty  4096 Dec 17 23:41 axiopisty
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant

Puppet在其简单引用时不会解析变量名。要确保变量名已完成,必须使用
”;因此puppet文件中的以下内容将起作用

user { $user_name:
  ensure  => 'present',
  comment => 'developer account',
  home    => "/home/$user_name",
  shell   => '/bin/bash',
  uid     => 643
}
->
file{"$user_name home":
  ensure => 'directory',
  path  => "/home/$user_name",
  owner => "$user_name",
  group => "$user_name"
}
##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 $user_name $user_name 4096 Dec 17 23:41 $user_name
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant
##############
# Host Machine
##############
$ whoami
axiopisty

###############
# Guest Machine
###############
$ ls -la /home/
total 16
drwxr-xr-x  4 root       root       4096 Dec 17 23:41 .
drwxr-xr-x 24 root       root       4096 Sep 28 20:41 ..
drwxr-xr-x  2 axiopisty  axiopisty  4096 Dec 17 23:41 axiopisty
drwxr-xr-x 13 vagrant    vagrant    4096 Sep 28 20:42 vagrant
user { $user_name:
  ensure  => 'present',
  comment => 'developer account',
  home    => "/home/$user_name",
  shell   => '/bin/bash',
  uid     => 643
}
->
file{"$user_name home":
  ensure => 'directory',
  path  => "/home/$user_name",
  owner => "$user_name",
  group => "$user_name"
}