Vagrant установил разрешения для общего ресурса по умолчанию

32

При запуске экземпляра vagrant папка проекта монтируется /vagrantавтоматически. Однако монтируется со следующими разрешениями

# ll -d /vagrant
drwx------ 1 vagrant vagrant 612 Jun 13 14:41 /vagrant/

Мне нужно, чтобы он был установлен с (по крайней мере) 0770, но я не могу найти, как. Если я запускаю команду монтирования, я вижу этот вывод

# mount
v-root on /vagrant type vboxsf (uid=1000,gid=100,rw)

Я пробовал оба chmodи chown/chgrp, но они не будут работать в этой подключенной папке, поэтому мой пользователь apache не может получить доступ к этой папке. Я прочитал в руководстве Vagrant, что могу сменить владельца и группу, но в нем ничего не говорится о разрешении.

Как я могу это сделать?

Другим вариантом может быть переключение на NFS, но в этом случае он не будет работать на платформах Windows, и для него потребуется редактировать локальный /etc/exportsфайл, и для этого потребуются права root, а также это довольно раздражает, поэтому я предпочел бы не вносить это изменение.

Fabio
источник

Ответы:

53

Решено с этой строкой в ​​моем Vagantfile, для v1.3.2 и позже:

config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"]

Синтаксис до версии 1.2:

config.vm.share_folder("v-root", "/vagrant", ".", :extra => 'dmode=770,fmode=770')

Кредиты: http://ubuntuforums.org/showthread.php?t=1434884

Для Vagrant 1.2 правильный синтаксис был:

config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"

Кредиты: Aal

Для версии 1.3.2 и более поздних флаг «extra» в синхронизируемой папке был изменен на «mount_options». Параметры должны быть в массиве, каждый из которых должен быть отдельной строкой (в противоположность тому, что в предыдущих версиях оба параметра были в одной строке)

Fabio
источник
6
Не знаю почему, но мне нужен немного другой синтаксис:config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"
Пол Восс
1
+1 Аал и +1 Фабио: share_folder - это версия до Vagrant v1.2, synced_folder - это версия Vagrant v1.2 и после. Я использую puphpet.com для генерации своего манифеста, но мне пришлось выполнить эту настройку в Vagrantfile.
therobyouknow
2
config.vm.synced_folder ".", "/ vagrant",: mount_options => ["dmode = 777, fmode = 666"] работал для меня на v1.3.2.
Нобу
3
В Vagrant 1.4.3 синтаксис немного изменился. Следующее изменение в Vagrantfile у меня сработало: config.vm.synced_folder "# {folder ['source']}", "# {folder ['target']}", id: "# {folder ['id']} ", введите: nfs, mount_options: [" dmode = 777 "," fmode = 666 "]
ChezFre