Я использую для provision ansible скрипт. Но можно использовать и bash. Суть вопроса: пользователь vagrant имеет возможность исполнять sudo команды без пароля. Vagrant даёт возможность запустить bash код или Ansible playbook. Вывод: создаём bash файл, в котором прописываем команды chown и chmod на требуемые директории. Profit!!!
config.vm.provision, type: "shell", run: "always" do |s|
s.path = "pdrovision.sh"
s.privileged = false
s.keep_color = true
end
И в provision.sh:
sudo chmod 777 /vagrant/workspace
За работоспособность vagrantfile с идентичным кодом не ручаюсь, поскольку тут у каждого свой подход. Я использую .define с объявлением имени виртуальной машины, у автора подход из примера не понятен. Но суть в том, чтобы запустить provision выполнением bash скрипта.
Другой вопрос в том, что операционная система не позволяет сменить права. Но если это mac, то в ней самой должны быть команды chmod и chown. Я так понимаю, что проекты лежат в папке /some/path/to/Projects. Пользователь системы, скажем, Vanya. Отсюда, должна работать команда chown -R Vanya /some/path/to/Projects (в Маке).