Как настроить марионетку для предоставления пользователю на гостевой машине имени пользователя, которое соответствует имени пользователя для пользователя хост-машина, которая снабжает гостя?(Использование кукольного применять, а не сервер/мастер)Puppet - как предоставить пользователю на гостевой машине то же имя пользователя, что и пользователь на главной машине
$ puppet --version
3.4.3
$ vagrant --version
Vagrant 1.7.2
Это то, что я пытался до сих пор:
Следуя инструкции в этой SO answer я пытался использовать бродячую/марионетку создайте учетную запись пользователя на гостевой машине, которая соответствует учетной записи пользователя на главной машине. Но в конечном итоге это не сработало. Вместо того, чтобы получать имя пользователя хоста, был создан пользователь «$ user_name».
Vagrantfile:
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "npalm/mint17-amd64-cinnamon"
config.vm.hostname = "dev-env"
config.vm.provider "virtualbox" do |vb|
vb.name = "dev-env"
vb.customize ["modifyvm", :id, "--cpus", "2"]
vb.customize ["modifyvm", :id, "--memory", "1280"]
end
config.vm.provision "shell", path: "provisioning/shell/apt-update.sh"
config.vm.provision "shell", path: "provisioning/shell/puppet.sh"
config.vm.provision "puppet" do |puppet|
puppet.facter = {
"user_name" => ENV['USER']
}
puppet.options = "--verbose --debug"
puppet.manifests_path = "provisioning/puppet/manifests"
puppet.module_path = "provisioning/puppet/modules"
end
end
инициализации/оболочки/apt-update.sh:
#!/usr/bin/env bash
sudo apt-get -y update
sudo apt-get install -y aptitude
инициализации/оболочки/puppet.sh:
#!/usr/bin/env bash
sudo aptitude install -y puppet
снабжение/кукольный/манифесты/default.pp:
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